--- grsecurity-1.9.13-2.4.24.patch	2004-01-06 07:57:10.000000000 -0600
+++ grsecurity-1.9.13-2.4.24-vs1.24.patch	2004-01-20 17:15:33.000000000 -0600
@@ -1,7 +1,7 @@
-diff -urN linux-2.4.24/Documentation/Configure.help linux-2.4.24/Documentation/Configure.help
---- linux-2.4.24/Documentation/Configure.help	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/Documentation/Configure.help	2004-01-05 11:39:43.000000000 -0500
-@@ -2792,6 +2792,20 @@
+diff -urN linux-2.4.24-vs1.24/Documentation/Configure.help linux-2.4.24-vs1.24-grsec/Documentation/Configure.help
+--- linux-2.4.24-vs1.24/Documentation/Configure.help	2004-01-20 16:58:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/Documentation/Configure.help	2004-01-20 17:11:39.000000000 -0600
+@@ -2797,6 +2797,20 @@
    If you want to compile it as a module, say M here and read
    Documentation/modules.txt.  If unsure, say `N'.
  
@@ -22,7 +22,7 @@
  MAC address match support
  CONFIG_IP_NF_MATCH_MAC
    MAC matching allows you to match packets based on the source
-@@ -22980,6 +22994,887 @@
+@@ -22985,6 +22999,887 @@
  
    "Area6" will work for most boards. For ADX, select "Area5".
  
@@ -910,15 +910,15 @@
  Disable data cache
  CONFIG_DCACHE_DISABLE
    This option allows you to run the kernel with data cache disabled.
-diff -urN linux-2.4.24/Makefile linux-2.4.24/Makefile
---- linux-2.4.24/Makefile	2004-01-05 08:53:56.000000000 -0500
-+++ linux-2.4.24/Makefile	2004-01-05 11:40:08.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/Makefile linux-2.4.24-vs1.24-grsec/Makefile
+--- linux-2.4.24-vs1.24/Makefile	2004-01-20 16:58:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/Makefile	2004-01-20 16:59:01.000000000 -0600
 @@ -1,7 +1,7 @@
  VERSION = 2
  PATCHLEVEL = 4
  SUBLEVEL = 24
--EXTRAVERSION =
-+EXTRAVERSION = -grsec
+-EXTRAVERSION = -vs1.24
++EXTRAVERSION = -vs1.24-grsec
  
  KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
  
@@ -951,9 +951,9 @@
  		$(LIBS) \
  		--end-group \
  		-o vmlinux
-diff -urN linux-2.4.24/arch/alpha/config.in linux-2.4.24/arch/alpha/config.in
---- linux-2.4.24/arch/alpha/config.in	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/alpha/config.in	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/alpha/config.in linux-2.4.24-vs1.24-grsec/arch/alpha/config.in
+--- linux-2.4.24-vs1.24/arch/alpha/config.in	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/alpha/config.in	2004-01-20 16:58:23.000000000 -0600
 @@ -469,3 +469,12 @@
  
  source crypto/Config.in
@@ -967,9 +967,9 @@
 +fi
 +endmenu
 +
-diff -urN linux-2.4.24/arch/alpha/kernel/osf_sys.c linux-2.4.24/arch/alpha/kernel/osf_sys.c
---- linux-2.4.24/arch/alpha/kernel/osf_sys.c	2003-06-13 10:51:29.000000000 -0400
-+++ linux-2.4.24/arch/alpha/kernel/osf_sys.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/alpha/kernel/osf_sys.c linux-2.4.24-vs1.24-grsec/arch/alpha/kernel/osf_sys.c
+--- linux-2.4.24-vs1.24/arch/alpha/kernel/osf_sys.c	2003-06-13 09:51:29.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/arch/alpha/kernel/osf_sys.c	2004-01-20 16:58:23.000000000 -0600
 @@ -33,6 +33,7 @@
  #include <linux/file.h>
  #include <linux/types.h>
@@ -1033,9 +1033,9 @@
  	if (addr != -ENOMEM)
  		return addr;
  
-diff -urN linux-2.4.24/arch/alpha/kernel/ptrace.c linux-2.4.24/arch/alpha/kernel/ptrace.c
---- linux-2.4.24/arch/alpha/kernel/ptrace.c	2003-06-13 10:51:29.000000000 -0400
-+++ linux-2.4.24/arch/alpha/kernel/ptrace.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/alpha/kernel/ptrace.c linux-2.4.24-vs1.24-grsec/arch/alpha/kernel/ptrace.c
+--- linux-2.4.24-vs1.24/arch/alpha/kernel/ptrace.c	2003-06-13 09:51:29.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/arch/alpha/kernel/ptrace.c	2004-01-20 16:58:23.000000000 -0600
 @@ -13,6 +13,7 @@
  #include <linux/ptrace.h>
  #include <linux/user.h>
@@ -1055,9 +1055,9 @@
  	if (request == PTRACE_ATTACH) {
  		ret = ptrace_attach(child);
  		goto out;
-diff -urN linux-2.4.24/arch/alpha/mm/fault.c linux-2.4.24/arch/alpha/mm/fault.c
---- linux-2.4.24/arch/alpha/mm/fault.c	2002-11-28 18:53:08.000000000 -0500
-+++ linux-2.4.24/arch/alpha/mm/fault.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/alpha/mm/fault.c linux-2.4.24-vs1.24-grsec/arch/alpha/mm/fault.c
+--- linux-2.4.24-vs1.24/arch/alpha/mm/fault.c	2002-11-28 17:53:08.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/alpha/mm/fault.c	2004-01-20 16:58:23.000000000 -0600
 @@ -53,6 +53,139 @@
  	__reload_thread(&current->thread);
  }
@@ -1232,9 +1232,9 @@
  	} else if (!cause) {
  		/* Allow reads even for write-only mappings */
  		if (!(vma->vm_flags & (VM_READ | VM_WRITE)))
-diff -urN linux-2.4.24/arch/arm/config.in linux-2.4.24/arch/arm/config.in
---- linux-2.4.24/arch/arm/config.in	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/arm/config.in	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/arm/config.in linux-2.4.24-vs1.24-grsec/arch/arm/config.in
+--- linux-2.4.24-vs1.24/arch/arm/config.in	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/arm/config.in	2004-01-20 16:58:23.000000000 -0600
 @@ -737,3 +737,11 @@
  
  source crypto/Config.in
@@ -1247,9 +1247,9 @@
 +	source grsecurity/Config.in
 +fi
 +endmenu
-diff -urN linux-2.4.24/arch/cris/config.in linux-2.4.24/arch/cris/config.in
---- linux-2.4.24/arch/cris/config.in	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/cris/config.in	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/cris/config.in linux-2.4.24-vs1.24-grsec/arch/cris/config.in
+--- linux-2.4.24-vs1.24/arch/cris/config.in	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/cris/config.in	2004-01-20 16:58:23.000000000 -0600
 @@ -277,3 +277,12 @@
  source crypto/Config.in
  source lib/Config.in
@@ -1263,9 +1263,9 @@
 +fi
 +endmenu
 +
-diff -urN linux-2.4.24/arch/i386/Makefile linux-2.4.24/arch/i386/Makefile
---- linux-2.4.24/arch/i386/Makefile	2003-06-13 10:51:29.000000000 -0400
-+++ linux-2.4.24/arch/i386/Makefile	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/i386/Makefile linux-2.4.24-vs1.24-grsec/arch/i386/Makefile
+--- linux-2.4.24-vs1.24/arch/i386/Makefile	2003-06-13 09:51:29.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/arch/i386/Makefile	2004-01-20 17:11:39.000000000 -0600
 @@ -114,6 +114,9 @@
  
  MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot
@@ -1284,9 +1284,9 @@
  
  archdep:
  	@$(MAKEBOOT) dep
-diff -urN linux-2.4.24/arch/i386/boot/bootsect.S linux-2.4.24/arch/i386/boot/bootsect.S
---- linux-2.4.24/arch/i386/boot/bootsect.S	2003-08-25 07:44:39.000000000 -0400
-+++ linux-2.4.24/arch/i386/boot/bootsect.S	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/i386/boot/bootsect.S linux-2.4.24-vs1.24-grsec/arch/i386/boot/bootsect.S
+--- linux-2.4.24-vs1.24/arch/i386/boot/bootsect.S	2003-08-25 06:44:39.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/arch/i386/boot/bootsect.S	2004-01-20 16:58:23.000000000 -0600
 @@ -237,7 +237,7 @@
  #ifdef __BIG_KERNEL__
  					# look in setup.S for bootsect_kludge
@@ -1296,9 +1296,9 @@
  #else
  	movw	%es, %ax
  	subw	$SYSSEG, %ax
-diff -urN linux-2.4.24/arch/i386/boot/setup.S linux-2.4.24/arch/i386/boot/setup.S
---- linux-2.4.24/arch/i386/boot/setup.S	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/i386/boot/setup.S	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/i386/boot/setup.S linux-2.4.24-vs1.24-grsec/arch/i386/boot/setup.S
+--- linux-2.4.24-vs1.24/arch/i386/boot/setup.S	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/i386/boot/setup.S	2004-01-20 16:58:23.000000000 -0600
 @@ -616,7 +616,7 @@
  	cmpw	$0, %cs:realmode_swtch
  	jz	rmodeswtch_normal
@@ -1308,9 +1308,9 @@
  
  	jmp	rmodeswtch_end
  
-diff -urN linux-2.4.24/arch/i386/config.in linux-2.4.24/arch/i386/config.in
---- linux-2.4.24/arch/i386/config.in	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/i386/config.in	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/i386/config.in linux-2.4.24-vs1.24-grsec/arch/i386/config.in
+--- linux-2.4.24-vs1.24/arch/i386/config.in	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/i386/config.in	2004-01-20 16:58:23.000000000 -0600
 @@ -99,6 +99,7 @@
  fi
  if [ "$CONFIG_M686" = "y" ]; then
@@ -1355,9 +1355,9 @@
 +	source grsecurity/Config.in
 +fi
 +endmenu
-diff -urN linux-2.4.24/arch/i386/kernel/apm.c linux-2.4.24/arch/i386/kernel/apm.c
---- linux-2.4.24/arch/i386/kernel/apm.c	2003-08-25 07:44:39.000000000 -0400
-+++ linux-2.4.24/arch/i386/kernel/apm.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/i386/kernel/apm.c linux-2.4.24-vs1.24-grsec/arch/i386/kernel/apm.c
+--- linux-2.4.24-vs1.24/arch/i386/kernel/apm.c	2003-08-25 06:44:39.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/arch/i386/kernel/apm.c	2004-01-20 16:58:23.000000000 -0600
 @@ -614,7 +614,7 @@
  	__asm__ __volatile__(APM_DO_ZERO_SEGS
  		"pushl %%edi\n\t"
@@ -1437,9 +1437,9 @@
  	}
  #endif
  
-diff -urN linux-2.4.24/arch/i386/kernel/entry.S linux-2.4.24/arch/i386/kernel/entry.S
---- linux-2.4.24/arch/i386/kernel/entry.S	2003-06-13 10:51:29.000000000 -0400
-+++ linux-2.4.24/arch/i386/kernel/entry.S	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/i386/kernel/entry.S linux-2.4.24-vs1.24-grsec/arch/i386/kernel/entry.S
+--- linux-2.4.24-vs1.24/arch/i386/kernel/entry.S	2004-01-20 16:58:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/i386/kernel/entry.S	2004-01-20 16:58:23.000000000 -0600
 @@ -209,6 +209,17 @@
  	jae badsys
  	call *SYMBOL_NAME(sys_call_table)(,%eax,4)
@@ -1524,9 +1524,9 @@
  ENTRY(sys_call_table)
  	.long SYMBOL_NAME(sys_ni_syscall)	/* 0  -  old "setup()" system call*/
  	.long SYMBOL_NAME(sys_exit)
-diff -urN linux-2.4.24/arch/i386/kernel/head.S linux-2.4.24/arch/i386/kernel/head.S
---- linux-2.4.24/arch/i386/kernel/head.S	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/i386/kernel/head.S	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/i386/kernel/head.S linux-2.4.24-vs1.24-grsec/arch/i386/kernel/head.S
+--- linux-2.4.24-vs1.24/arch/i386/kernel/head.S	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/i386/kernel/head.S	2004-01-20 17:11:39.000000000 -0600
 @@ -41,6 +41,7 @@
   *
   * On entry, %esi points to the real-mode code as a 32-bit pointer.
@@ -1766,9 +1766,9 @@
 +	.quad 0x0040930000000000	/* 0x58 APM DS    data */
  	.fill NR_CPUS*4,8,0		/* space for TSS's and LDT's */
 +#endif
-diff -urN linux-2.4.24/arch/i386/kernel/i386_ksyms.c linux-2.4.24/arch/i386/kernel/i386_ksyms.c
---- linux-2.4.24/arch/i386/kernel/i386_ksyms.c	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/i386/kernel/i386_ksyms.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/i386/kernel/i386_ksyms.c linux-2.4.24-vs1.24-grsec/arch/i386/kernel/i386_ksyms.c
+--- linux-2.4.24-vs1.24/arch/i386/kernel/i386_ksyms.c	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/i386/kernel/i386_ksyms.c	2004-01-20 16:58:23.000000000 -0600
 @@ -74,6 +74,9 @@
  EXPORT_SYMBOL(get_cmos_time);
  EXPORT_SYMBOL(apm_info);
@@ -1779,9 +1779,9 @@
  EXPORT_SYMBOL(empty_zero_page);
  
  #ifdef CONFIG_DEBUG_IOVIRT
-diff -urN linux-2.4.24/arch/i386/kernel/ioport.c linux-2.4.24/arch/i386/kernel/ioport.c
---- linux-2.4.24/arch/i386/kernel/ioport.c	2003-06-13 10:51:29.000000000 -0400
-+++ linux-2.4.24/arch/i386/kernel/ioport.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/i386/kernel/ioport.c linux-2.4.24-vs1.24-grsec/arch/i386/kernel/ioport.c
+--- linux-2.4.24-vs1.24/arch/i386/kernel/ioport.c	2003-06-13 09:51:29.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/arch/i386/kernel/ioport.c	2004-01-20 16:58:23.000000000 -0600
 @@ -14,6 +14,7 @@
  #include <linux/smp.h>
  #include <linux/smp_lock.h>
@@ -1821,9 +1821,9 @@
  	}
  	regs->eflags = (regs->eflags & 0xffffcfff) | (level << 12);
  	return 0;
-diff -urN linux-2.4.24/arch/i386/kernel/ldt.c linux-2.4.24/arch/i386/kernel/ldt.c
---- linux-2.4.24/arch/i386/kernel/ldt.c	2001-10-17 17:46:29.000000000 -0400
-+++ linux-2.4.24/arch/i386/kernel/ldt.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/i386/kernel/ldt.c linux-2.4.24-vs1.24-grsec/arch/i386/kernel/ldt.c
+--- linux-2.4.24-vs1.24/arch/i386/kernel/ldt.c	2001-10-17 16:46:29.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/arch/i386/kernel/ldt.c	2004-01-20 16:58:23.000000000 -0600
 @@ -49,7 +49,7 @@
  {
  	int err;
@@ -1856,9 +1856,9 @@
  	if (!oldmode)
  		entry_2 |= (ldt_info.useable << 20);
  
-diff -urN linux-2.4.24/arch/i386/kernel/pci-pc.c linux-2.4.24/arch/i386/kernel/pci-pc.c
---- linux-2.4.24/arch/i386/kernel/pci-pc.c	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/i386/kernel/pci-pc.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/i386/kernel/pci-pc.c linux-2.4.24-vs1.24-grsec/arch/i386/kernel/pci-pc.c
+--- linux-2.4.24-vs1.24/arch/i386/kernel/pci-pc.c	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/i386/kernel/pci-pc.c	2004-01-20 17:11:39.000000000 -0600
 @@ -17,6 +17,7 @@
  #include <asm/io.h>
  #include <asm/smp.h>
@@ -1904,9 +1904,9 @@
  }
  
  char * __devinit  pcibios_setup(char *str)
-diff -urN linux-2.4.24/arch/i386/kernel/process.c linux-2.4.24/arch/i386/kernel/process.c
---- linux-2.4.24/arch/i386/kernel/process.c	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/i386/kernel/process.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/i386/kernel/process.c linux-2.4.24-vs1.24-grsec/arch/i386/kernel/process.c
+--- linux-2.4.24-vs1.24/arch/i386/kernel/process.c	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/i386/kernel/process.c	2004-01-20 16:58:23.000000000 -0600
 @@ -595,7 +595,11 @@
  {
  	struct pt_regs * childregs;
@@ -1973,9 +1973,9 @@
 +	tss->esp0 = current->thread.esp0;
 +}
 +#endif
-diff -urN linux-2.4.24/arch/i386/kernel/ptrace.c linux-2.4.24/arch/i386/kernel/ptrace.c
---- linux-2.4.24/arch/i386/kernel/ptrace.c	2002-08-02 20:39:42.000000000 -0400
-+++ linux-2.4.24/arch/i386/kernel/ptrace.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/i386/kernel/ptrace.c linux-2.4.24-vs1.24-grsec/arch/i386/kernel/ptrace.c
+--- linux-2.4.24-vs1.24/arch/i386/kernel/ptrace.c	2004-01-20 16:58:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/i386/kernel/ptrace.c	2004-01-20 16:58:23.000000000 -0600
 @@ -13,6 +13,7 @@
  #include <linux/errno.h>
  #include <linux/ptrace.h>
@@ -2012,9 +2012,9 @@
  			  if(addr == (long) &dummy->u_debugreg[7]) {
  				  data &= ~DR_CONTROL_RESERVED;
  				  for(i=0; i<4; i++)
-diff -urN linux-2.4.24/arch/i386/kernel/setup.c linux-2.4.24/arch/i386/kernel/setup.c
---- linux-2.4.24/arch/i386/kernel/setup.c	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/i386/kernel/setup.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/i386/kernel/setup.c linux-2.4.24-vs1.24-grsec/arch/i386/kernel/setup.c
+--- linux-2.4.24-vs1.24/arch/i386/kernel/setup.c	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/i386/kernel/setup.c	2004-01-20 16:58:23.000000000 -0600
 @@ -3188,7 +3188,7 @@
  	set_tss_desc(nr,t);
  	gdt_table[__TSS(nr)].b &= 0xfffffdff;
@@ -2024,9 +2024,9 @@
  
  	/*
  	 * Clear all 6 debug registers:
-diff -urN linux-2.4.24/arch/i386/kernel/sys_i386.c linux-2.4.24/arch/i386/kernel/sys_i386.c
---- linux-2.4.24/arch/i386/kernel/sys_i386.c	2003-08-25 07:44:39.000000000 -0400
-+++ linux-2.4.24/arch/i386/kernel/sys_i386.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/i386/kernel/sys_i386.c linux-2.4.24-vs1.24-grsec/arch/i386/kernel/sys_i386.c
+--- linux-2.4.24-vs1.24/arch/i386/kernel/sys_i386.c	2003-08-25 06:44:39.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/arch/i386/kernel/sys_i386.c	2004-01-20 16:58:23.000000000 -0600
 @@ -18,6 +18,7 @@
  #include <linux/mman.h>
  #include <linux/file.h>
@@ -2063,9 +2063,9 @@
  	up_write(&current->mm->mmap_sem);
  
  	if (file)
-diff -urN linux-2.4.24/arch/i386/kernel/trampoline.S linux-2.4.24/arch/i386/kernel/trampoline.S
---- linux-2.4.24/arch/i386/kernel/trampoline.S	2002-11-28 18:53:09.000000000 -0500
-+++ linux-2.4.24/arch/i386/kernel/trampoline.S	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/i386/kernel/trampoline.S linux-2.4.24-vs1.24-grsec/arch/i386/kernel/trampoline.S
+--- linux-2.4.24-vs1.24/arch/i386/kernel/trampoline.S	2002-11-28 17:53:09.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/i386/kernel/trampoline.S	2004-01-20 16:58:23.000000000 -0600
 @@ -54,7 +54,7 @@
  	lmsw	%ax		# into protected mode
  	jmp	flush_instr
@@ -2075,9 +2075,9 @@
  			# jump to startup_32 in arch/i386/kernel/head.S
  
  idt_48:
-diff -urN linux-2.4.24/arch/i386/kernel/traps.c linux-2.4.24/arch/i386/kernel/traps.c
---- linux-2.4.24/arch/i386/kernel/traps.c	2002-11-28 18:53:09.000000000 -0500
-+++ linux-2.4.24/arch/i386/kernel/traps.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/i386/kernel/traps.c linux-2.4.24-vs1.24-grsec/arch/i386/kernel/traps.c
+--- linux-2.4.24-vs1.24/arch/i386/kernel/traps.c	2002-11-28 17:53:09.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/i386/kernel/traps.c	2004-01-20 16:58:23.000000000 -0600
 @@ -54,7 +54,7 @@
  asmlinkage void lcall7(void);
  asmlinkage void lcall27(void);
@@ -2238,9 +2238,9 @@
  }
  
  #ifdef CONFIG_X86_VISWS_APIC
-diff -urN linux-2.4.24/arch/i386/mm/fault.c linux-2.4.24/arch/i386/mm/fault.c
---- linux-2.4.24/arch/i386/mm/fault.c	2002-11-28 18:53:09.000000000 -0500
-+++ linux-2.4.24/arch/i386/mm/fault.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/i386/mm/fault.c linux-2.4.24-vs1.24-grsec/arch/i386/mm/fault.c
+--- linux-2.4.24-vs1.24/arch/i386/mm/fault.c	2002-11-28 17:53:09.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/i386/mm/fault.c	2004-01-20 17:11:39.000000000 -0600
 @@ -4,6 +4,7 @@
   *  Copyright (C) 1995  Linus Torvalds
   */
@@ -2856,9 +2856,9 @@
 +	return 0;
 +}
 +#endif
-diff -urN linux-2.4.24/arch/i386/mm/init.c linux-2.4.24/arch/i386/mm/init.c
---- linux-2.4.24/arch/i386/mm/init.c	2003-06-13 10:51:29.000000000 -0400
-+++ linux-2.4.24/arch/i386/mm/init.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/i386/mm/init.c linux-2.4.24-vs1.24-grsec/arch/i386/mm/init.c
+--- linux-2.4.24-vs1.24/arch/i386/mm/init.c	2003-06-13 09:51:29.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/arch/i386/mm/init.c	2004-01-20 17:11:39.000000000 -0600
 @@ -37,6 +37,8 @@
  #include <asm/e820.h>
  #include <asm/apic.h>
@@ -2925,9 +2925,9 @@
  }
  
  #ifdef CONFIG_BLK_DEV_INITRD
-diff -urN linux-2.4.24/arch/i386/vmlinux.lds linux-2.4.24/arch/i386/vmlinux.lds
---- linux-2.4.24/arch/i386/vmlinux.lds	2002-02-25 14:37:53.000000000 -0500
-+++ linux-2.4.24/arch/i386/vmlinux.lds	1969-12-31 19:00:00.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/i386/vmlinux.lds linux-2.4.24-vs1.24-grsec/arch/i386/vmlinux.lds
+--- linux-2.4.24-vs1.24/arch/i386/vmlinux.lds	2002-02-25 13:37:53.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/i386/vmlinux.lds	1969-12-31 18:00:00.000000000 -0600
 @@ -1,82 +0,0 @@
 -/* ld script to make i386 Linux kernel
 - * Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>;
@@ -3011,9 +3011,9 @@
 -  .stab.indexstr 0 : { *(.stab.indexstr) }
 -  .comment 0 : { *(.comment) }
 -}
-diff -urN linux-2.4.24/arch/i386/vmlinux.lds.S linux-2.4.24/arch/i386/vmlinux.lds.S
---- linux-2.4.24/arch/i386/vmlinux.lds.S	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/arch/i386/vmlinux.lds.S	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/i386/vmlinux.lds.S linux-2.4.24-vs1.24-grsec/arch/i386/vmlinux.lds.S
+--- linux-2.4.24-vs1.24/arch/i386/vmlinux.lds.S	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/i386/vmlinux.lds.S	2004-01-20 16:58:23.000000000 -0600
 @@ -0,0 +1,136 @@
 +/* ld script to make i386 Linux kernel
 + * Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>;
@@ -3151,9 +3151,9 @@
 +  .stab.indexstr 0 : { *(.stab.indexstr) }
 +  .comment 0 : { *(.comment) }
 +}
-diff -urN linux-2.4.24/arch/ia64/config.in linux-2.4.24/arch/ia64/config.in
---- linux-2.4.24/arch/ia64/config.in	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/ia64/config.in	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/ia64/config.in linux-2.4.24-vs1.24-grsec/arch/ia64/config.in
+--- linux-2.4.24-vs1.24/arch/ia64/config.in	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/ia64/config.in	2004-01-20 16:58:23.000000000 -0600
 @@ -296,3 +296,12 @@
  int 'Kernel messages buffer length shift (0 = default)' CONFIG_LOG_BUF_SHIFT 0
  
@@ -3167,9 +3167,9 @@
 +fi
 +endmenu
 +
-diff -urN linux-2.4.24/arch/ia64/kernel/ptrace.c linux-2.4.24/arch/ia64/kernel/ptrace.c
---- linux-2.4.24/arch/ia64/kernel/ptrace.c	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/ia64/kernel/ptrace.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/ia64/kernel/ptrace.c linux-2.4.24-vs1.24-grsec/arch/ia64/kernel/ptrace.c
+--- linux-2.4.24-vs1.24/arch/ia64/kernel/ptrace.c	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/ia64/kernel/ptrace.c	2004-01-20 16:58:23.000000000 -0600
 @@ -16,6 +16,7 @@
  #include <linux/ptrace.h>
  #include <linux/smp_lock.h>
@@ -3188,9 +3188,9 @@
  	if (request == PTRACE_ATTACH) {
  		ret = ptrace_attach(child);
  		goto out_tsk;
-diff -urN linux-2.4.24/arch/ia64/kernel/sys_ia64.c linux-2.4.24/arch/ia64/kernel/sys_ia64.c
---- linux-2.4.24/arch/ia64/kernel/sys_ia64.c	2003-08-25 07:44:39.000000000 -0400
-+++ linux-2.4.24/arch/ia64/kernel/sys_ia64.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/ia64/kernel/sys_ia64.c linux-2.4.24-vs1.24-grsec/arch/ia64/kernel/sys_ia64.c
+--- linux-2.4.24-vs1.24/arch/ia64/kernel/sys_ia64.c	2003-08-25 06:44:39.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/arch/ia64/kernel/sys_ia64.c	2004-01-20 16:58:23.000000000 -0600
 @@ -15,6 +15,7 @@
  #include <linux/smp.h>
  #include <linux/smp_lock.h>
@@ -3211,9 +3211,9 @@
  	down_write(&current->mm->mmap_sem);
  	addr = do_mmap_pgoff(file, addr, len, prot, flags, pgoff);
  	up_write(&current->mm->mmap_sem);
-diff -urN linux-2.4.24/arch/m68k/config.in linux-2.4.24/arch/m68k/config.in
---- linux-2.4.24/arch/m68k/config.in	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/m68k/config.in	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/m68k/config.in linux-2.4.24-vs1.24-grsec/arch/m68k/config.in
+--- linux-2.4.24-vs1.24/arch/m68k/config.in	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/m68k/config.in	2004-01-20 16:58:23.000000000 -0600
 @@ -562,3 +562,11 @@
  
  source crypto/Config.in
@@ -3226,9 +3226,9 @@
 +	source grsecurity/Config.in
 +fi
 +endmenu
-diff -urN linux-2.4.24/arch/mips/config.in linux-2.4.24/arch/mips/config.in
---- linux-2.4.24/arch/mips/config.in	2002-11-28 18:53:09.000000000 -0500
-+++ linux-2.4.24/arch/mips/config.in	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/mips/config.in linux-2.4.24-vs1.24-grsec/arch/mips/config.in
+--- linux-2.4.24-vs1.24/arch/mips/config.in	2002-11-28 17:53:09.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/mips/config.in	2004-01-20 16:58:23.000000000 -0600
 @@ -7,3 +7,11 @@
  define_bool CONFIG_MIPS64 n
  
@@ -3241,9 +3241,9 @@
 +        source grsecurity/Config.in
 +fi
 +endmenu
-diff -urN linux-2.4.24/arch/mips64/config.in linux-2.4.24/arch/mips64/config.in
---- linux-2.4.24/arch/mips64/config.in	2002-11-28 18:53:10.000000000 -0500
-+++ linux-2.4.24/arch/mips64/config.in	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/mips64/config.in linux-2.4.24-vs1.24-grsec/arch/mips64/config.in
+--- linux-2.4.24-vs1.24/arch/mips64/config.in	2002-11-28 17:53:10.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/mips64/config.in	2004-01-20 16:58:23.000000000 -0600
 @@ -7,3 +7,11 @@
  define_bool CONFIG_MIPS64 y
  
@@ -3256,9 +3256,9 @@
 +        source grsecurity/Config.in
 +fi
 +endmenu
-diff -urN linux-2.4.24/arch/parisc/config.in linux-2.4.24/arch/parisc/config.in
---- linux-2.4.24/arch/parisc/config.in	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/parisc/config.in	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/parisc/config.in linux-2.4.24-vs1.24-grsec/arch/parisc/config.in
+--- linux-2.4.24-vs1.24/arch/parisc/config.in	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/parisc/config.in	2004-01-20 16:58:23.000000000 -0600
 @@ -205,3 +205,11 @@
  
  source crypto/Config.in
@@ -3271,9 +3271,9 @@
 +	source grsecurity/Config.in
 +fi
 +endmenu
-diff -urN linux-2.4.24/arch/parisc/kernel/ioctl32.c linux-2.4.24/arch/parisc/kernel/ioctl32.c
---- linux-2.4.24/arch/parisc/kernel/ioctl32.c	2003-08-25 07:44:40.000000000 -0400
-+++ linux-2.4.24/arch/parisc/kernel/ioctl32.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/parisc/kernel/ioctl32.c linux-2.4.24-vs1.24-grsec/arch/parisc/kernel/ioctl32.c
+--- linux-2.4.24-vs1.24/arch/parisc/kernel/ioctl32.c	2003-08-25 06:44:40.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/arch/parisc/kernel/ioctl32.c	2004-01-20 16:58:23.000000000 -0600
 @@ -1434,7 +1434,11 @@
  	 * To have permissions to do most of the vt ioctls, we either have
  	 * to be the owner of the tty, or super-user.
@@ -3286,9 +3286,9 @@
  		return 1;
  	return 0;                                                    
  }
-diff -urN linux-2.4.24/arch/parisc/kernel/ptrace.c linux-2.4.24/arch/parisc/kernel/ptrace.c
---- linux-2.4.24/arch/parisc/kernel/ptrace.c	2002-11-28 18:53:10.000000000 -0500
-+++ linux-2.4.24/arch/parisc/kernel/ptrace.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/parisc/kernel/ptrace.c linux-2.4.24-vs1.24-grsec/arch/parisc/kernel/ptrace.c
+--- linux-2.4.24-vs1.24/arch/parisc/kernel/ptrace.c	2002-11-28 17:53:10.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/parisc/kernel/ptrace.c	2004-01-20 16:58:23.000000000 -0600
 @@ -15,7 +15,7 @@
  #include <linux/ptrace.h>
  #include <linux/user.h>
@@ -3308,9 +3308,9 @@
  	if (request == PTRACE_ATTACH) {
  		ret = ptrace_attach(child);
  		goto out_tsk;
-diff -urN linux-2.4.24/arch/parisc/kernel/sys_parisc.c linux-2.4.24/arch/parisc/kernel/sys_parisc.c
---- linux-2.4.24/arch/parisc/kernel/sys_parisc.c	2002-11-28 18:53:10.000000000 -0500
-+++ linux-2.4.24/arch/parisc/kernel/sys_parisc.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/parisc/kernel/sys_parisc.c linux-2.4.24-vs1.24-grsec/arch/parisc/kernel/sys_parisc.c
+--- linux-2.4.24-vs1.24/arch/parisc/kernel/sys_parisc.c	2002-11-28 17:53:10.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/parisc/kernel/sys_parisc.c	2004-01-20 16:58:23.000000000 -0600
 @@ -12,6 +12,7 @@
  #include <linux/mman.h>
  #include <linux/shm.h>
@@ -3355,9 +3355,9 @@
  	flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE);
  
  	down_write(&current->mm->mmap_sem);
-diff -urN linux-2.4.24/arch/parisc/kernel/sys_parisc32.c linux-2.4.24/arch/parisc/kernel/sys_parisc32.c
---- linux-2.4.24/arch/parisc/kernel/sys_parisc32.c	2003-06-13 10:51:31.000000000 -0400
-+++ linux-2.4.24/arch/parisc/kernel/sys_parisc32.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/parisc/kernel/sys_parisc32.c linux-2.4.24-vs1.24-grsec/arch/parisc/kernel/sys_parisc32.c
+--- linux-2.4.24-vs1.24/arch/parisc/kernel/sys_parisc32.c	2003-06-13 09:51:31.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/arch/parisc/kernel/sys_parisc32.c	2004-01-20 16:58:23.000000000 -0600
 @@ -50,6 +50,7 @@
  #include <linux/highmem.h>
  #include <linux/highuid.h>
@@ -3464,9 +3464,9 @@
  out:
  	/* Something went wrong, return the inode and free the argument pages*/
  	allow_write_access(bprm.file);
-diff -urN linux-2.4.24/arch/parisc/kernel/traps.c linux-2.4.24/arch/parisc/kernel/traps.c
---- linux-2.4.24/arch/parisc/kernel/traps.c	2003-08-25 07:44:40.000000000 -0400
-+++ linux-2.4.24/arch/parisc/kernel/traps.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/parisc/kernel/traps.c linux-2.4.24-vs1.24-grsec/arch/parisc/kernel/traps.c
+--- linux-2.4.24-vs1.24/arch/parisc/kernel/traps.c	2003-08-25 06:44:40.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/arch/parisc/kernel/traps.c	2004-01-20 16:58:23.000000000 -0600
 @@ -637,9 +637,7 @@
  
  			down_read(&current->mm->mmap_sem);
@@ -3478,9 +3478,9 @@
  				fault_address = regs->iaoq[0];
  				fault_space = regs->iasq[0];
  
-diff -urN linux-2.4.24/arch/parisc/mm/fault.c linux-2.4.24/arch/parisc/mm/fault.c
---- linux-2.4.24/arch/parisc/mm/fault.c	2003-06-13 10:51:31.000000000 -0400
-+++ linux-2.4.24/arch/parisc/mm/fault.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/parisc/mm/fault.c linux-2.4.24-vs1.24-grsec/arch/parisc/mm/fault.c
+--- linux-2.4.24-vs1.24/arch/parisc/mm/fault.c	2003-06-13 09:51:31.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/arch/parisc/mm/fault.c	2004-01-20 16:58:23.000000000 -0600
 @@ -15,6 +15,7 @@
  #include <linux/ptrace.h>
  #include <linux/sched.h>
@@ -3675,9 +3675,9 @@
  
  	/*
  	 * If for any reason at all we couldn't handle the fault, make
-diff -urN linux-2.4.24/arch/ppc/config.in linux-2.4.24/arch/ppc/config.in
---- linux-2.4.24/arch/ppc/config.in	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/ppc/config.in	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/ppc/config.in linux-2.4.24-vs1.24-grsec/arch/ppc/config.in
+--- linux-2.4.24-vs1.24/arch/ppc/config.in	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/ppc/config.in	2004-01-20 16:58:23.000000000 -0600
 @@ -610,3 +610,12 @@
  int 'Kernel messages buffer length shift (0 = default)' CONFIG_LOG_BUF_SHIFT 0
  
@@ -3691,9 +3691,9 @@
 +fi
 +endmenu
 +
-diff -urN linux-2.4.24/arch/ppc/kernel/ptrace.c linux-2.4.24/arch/ppc/kernel/ptrace.c
---- linux-2.4.24/arch/ppc/kernel/ptrace.c	2003-08-25 07:44:40.000000000 -0400
-+++ linux-2.4.24/arch/ppc/kernel/ptrace.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/ppc/kernel/ptrace.c linux-2.4.24-vs1.24-grsec/arch/ppc/kernel/ptrace.c
+--- linux-2.4.24-vs1.24/arch/ppc/kernel/ptrace.c	2004-01-20 16:58:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/ppc/kernel/ptrace.c	2004-01-20 16:58:23.000000000 -0600
 @@ -24,6 +24,7 @@
  #include <linux/errno.h>
  #include <linux/ptrace.h>
@@ -3712,9 +3712,9 @@
  	if (request == PTRACE_ATTACH) {
  		ret = ptrace_attach(child);
  		goto out_tsk;
-diff -urN linux-2.4.24/arch/ppc/kernel/syscalls.c linux-2.4.24/arch/ppc/kernel/syscalls.c
---- linux-2.4.24/arch/ppc/kernel/syscalls.c	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/ppc/kernel/syscalls.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/ppc/kernel/syscalls.c linux-2.4.24-vs1.24-grsec/arch/ppc/kernel/syscalls.c
+--- linux-2.4.24-vs1.24/arch/ppc/kernel/syscalls.c	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/ppc/kernel/syscalls.c	2004-01-20 16:58:23.000000000 -0600
 @@ -35,6 +35,7 @@
  #include <linux/ipc.h>
  #include <linux/utsname.h>
@@ -3754,9 +3754,9 @@
  	up_write(&current->mm->mmap_sem);
  	if (file)
  		fput(file);
-diff -urN linux-2.4.24/arch/ppc/mm/fault.c linux-2.4.24/arch/ppc/mm/fault.c
---- linux-2.4.24/arch/ppc/mm/fault.c	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/ppc/mm/fault.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/ppc/mm/fault.c linux-2.4.24-vs1.24-grsec/arch/ppc/mm/fault.c
+--- linux-2.4.24-vs1.24/arch/ppc/mm/fault.c	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/ppc/mm/fault.c	2004-01-20 16:58:23.000000000 -0600
 @@ -26,6 +26,9 @@
  #include <linux/mman.h>
  #include <linux/mm.h>
@@ -4176,9 +4176,9 @@
  		info.si_signo = SIGSEGV;
  		info.si_errno = 0;
  		info.si_code = code;
-diff -urN linux-2.4.24/arch/ppc64/kernel/ioctl32.c linux-2.4.24/arch/ppc64/kernel/ioctl32.c
---- linux-2.4.24/arch/ppc64/kernel/ioctl32.c	2003-08-25 07:44:40.000000000 -0400
-+++ linux-2.4.24/arch/ppc64/kernel/ioctl32.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/ppc64/kernel/ioctl32.c linux-2.4.24-vs1.24-grsec/arch/ppc64/kernel/ioctl32.c
+--- linux-2.4.24-vs1.24/arch/ppc64/kernel/ioctl32.c	2003-08-25 06:44:40.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/arch/ppc64/kernel/ioctl32.c	2004-01-20 16:58:23.000000000 -0600
 @@ -1800,7 +1800,11 @@
  	 * To have permissions to do most of the vt ioctls, we either have
  	 * to be the owner of the tty, or super-user.
@@ -4191,9 +4191,9 @@
  		return 1;
  	return 0;                                                    
  }
-diff -urN linux-2.4.24/arch/s390/config.in linux-2.4.24/arch/s390/config.in
---- linux-2.4.24/arch/s390/config.in	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/s390/config.in	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/s390/config.in linux-2.4.24-vs1.24-grsec/arch/s390/config.in
+--- linux-2.4.24-vs1.24/arch/s390/config.in	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/s390/config.in	2004-01-20 16:58:23.000000000 -0600
 @@ -87,3 +87,11 @@
  
  source crypto/Config.in
@@ -4206,9 +4206,9 @@
 +	source grsecurity/Config.in
 +fi
 +endmenu
-diff -urN linux-2.4.24/arch/s390x/config.in linux-2.4.24/arch/s390x/config.in
---- linux-2.4.24/arch/s390x/config.in	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/s390x/config.in	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/s390x/config.in linux-2.4.24-vs1.24-grsec/arch/s390x/config.in
+--- linux-2.4.24-vs1.24/arch/s390x/config.in	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/s390x/config.in	2004-01-20 16:58:23.000000000 -0600
 @@ -91,3 +91,11 @@
  
  source crypto/Config.in
@@ -4221,9 +4221,9 @@
 +	source grsecurity/Config.in
 +fi
 +endmenu
-diff -urN linux-2.4.24/arch/sh/config.in linux-2.4.24/arch/sh/config.in
---- linux-2.4.24/arch/sh/config.in	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/sh/config.in	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/sh/config.in linux-2.4.24-vs1.24-grsec/arch/sh/config.in
+--- linux-2.4.24-vs1.24/arch/sh/config.in	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/sh/config.in	2004-01-20 16:58:23.000000000 -0600
 @@ -492,3 +492,11 @@
  
  source crypto/Config.in
@@ -4236,9 +4236,9 @@
 +	source grsecurity/Config.in
 +fi
 +endmenu
-diff -urN linux-2.4.24/arch/sparc/boot/Makefile linux-2.4.24/arch/sparc/boot/Makefile
---- linux-2.4.24/arch/sparc/boot/Makefile	2002-08-02 20:39:43.000000000 -0400
-+++ linux-2.4.24/arch/sparc/boot/Makefile	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/sparc/boot/Makefile linux-2.4.24-vs1.24-grsec/arch/sparc/boot/Makefile
+--- linux-2.4.24-vs1.24/arch/sparc/boot/Makefile	2002-08-02 19:39:43.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/arch/sparc/boot/Makefile	2004-01-20 16:58:23.000000000 -0600
 @@ -24,7 +24,7 @@
  
  BTOBJS := $(HEAD) init/main.o init/version.o init/do_mounts.o
@@ -4248,9 +4248,9 @@
  
  # I wanted to make this depend upon BTOBJS so that a parallel
  # build would work, but this fails because $(HEAD) cannot work
-diff -urN linux-2.4.24/arch/sparc/config.in linux-2.4.24/arch/sparc/config.in
---- linux-2.4.24/arch/sparc/config.in	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/sparc/config.in	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/sparc/config.in linux-2.4.24-vs1.24-grsec/arch/sparc/config.in
+--- linux-2.4.24-vs1.24/arch/sparc/config.in	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/sparc/config.in	2004-01-20 16:58:23.000000000 -0600
 @@ -283,3 +283,11 @@
  
  source crypto/Config.in
@@ -4263,9 +4263,9 @@
 +	source grsecurity/Config.in
 +fi
 +endmenu
-diff -urN linux-2.4.24/arch/sparc/kernel/ptrace.c linux-2.4.24/arch/sparc/kernel/ptrace.c
---- linux-2.4.24/arch/sparc/kernel/ptrace.c	2002-08-02 20:39:43.000000000 -0400
-+++ linux-2.4.24/arch/sparc/kernel/ptrace.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/sparc/kernel/ptrace.c linux-2.4.24-vs1.24-grsec/arch/sparc/kernel/ptrace.c
+--- linux-2.4.24-vs1.24/arch/sparc/kernel/ptrace.c	2002-08-02 19:39:43.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/arch/sparc/kernel/ptrace.c	2004-01-20 16:58:23.000000000 -0600
 @@ -17,6 +17,7 @@
  #include <linux/user.h>
  #include <linux/smp.h>
@@ -4284,9 +4284,9 @@
  	if ((current->personality == PER_SUNOS && request == PTRACE_SUNATTACH)
  	    || (current->personality != PER_SUNOS && request == PTRACE_ATTACH)) {
  		if (ptrace_attach(child)) {
-diff -urN linux-2.4.24/arch/sparc/kernel/sys_sparc.c linux-2.4.24/arch/sparc/kernel/sys_sparc.c
---- linux-2.4.24/arch/sparc/kernel/sys_sparc.c	2003-08-25 07:44:40.000000000 -0400
-+++ linux-2.4.24/arch/sparc/kernel/sys_sparc.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/sparc/kernel/sys_sparc.c linux-2.4.24-vs1.24-grsec/arch/sparc/kernel/sys_sparc.c
+--- linux-2.4.24-vs1.24/arch/sparc/kernel/sys_sparc.c	2003-08-25 06:44:40.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/arch/sparc/kernel/sys_sparc.c	2004-01-20 16:58:23.000000000 -0600
 @@ -20,6 +20,7 @@
  #include <linux/utsname.h>
  #include <linux/smp.h>
@@ -4334,9 +4334,9 @@
  	flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE);
  
  	down_write(&current->mm->mmap_sem);
-diff -urN linux-2.4.24/arch/sparc/kernel/sys_sunos.c linux-2.4.24/arch/sparc/kernel/sys_sunos.c
---- linux-2.4.24/arch/sparc/kernel/sys_sunos.c	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/sparc/kernel/sys_sunos.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/sparc/kernel/sys_sunos.c linux-2.4.24-vs1.24-grsec/arch/sparc/kernel/sys_sunos.c
+--- linux-2.4.24-vs1.24/arch/sparc/kernel/sys_sunos.c	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/sparc/kernel/sys_sunos.c	2004-01-20 16:58:23.000000000 -0600
 @@ -68,6 +68,11 @@
  	struct file * file = NULL;
  	unsigned long retval, ret_type;
@@ -4349,9 +4349,9 @@
  	if(flags & MAP_NORESERVE) {
  		static int cnt;
  		if (cnt++ < 10)
-diff -urN linux-2.4.24/arch/sparc/mm/fault.c linux-2.4.24/arch/sparc/mm/fault.c
---- linux-2.4.24/arch/sparc/mm/fault.c	2003-06-13 10:51:32.000000000 -0400
-+++ linux-2.4.24/arch/sparc/mm/fault.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/sparc/mm/fault.c linux-2.4.24-vs1.24-grsec/arch/sparc/mm/fault.c
+--- linux-2.4.24-vs1.24/arch/sparc/mm/fault.c	2003-06-13 09:51:32.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/arch/sparc/mm/fault.c	2004-01-20 16:58:23.000000000 -0600
 @@ -19,6 +19,9 @@
  #include <linux/smp.h>
  #include <linux/smp_lock.h>
@@ -4657,9 +4657,9 @@
  		/* Allow reads even for write-only mappings */
  		if(!(vma->vm_flags & (VM_READ | VM_EXEC)))
  			goto bad_area;
-diff -urN linux-2.4.24/arch/sparc/mm/init.c linux-2.4.24/arch/sparc/mm/init.c
---- linux-2.4.24/arch/sparc/mm/init.c	2002-11-28 18:53:12.000000000 -0500
-+++ linux-2.4.24/arch/sparc/mm/init.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/sparc/mm/init.c linux-2.4.24-vs1.24-grsec/arch/sparc/mm/init.c
+--- linux-2.4.24-vs1.24/arch/sparc/mm/init.c	2002-11-28 17:53:12.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/sparc/mm/init.c	2004-01-20 16:58:23.000000000 -0600
 @@ -350,17 +350,17 @@
  
  	/* Initialize the protection map with non-constant, MMU dependent values. */
@@ -4684,9 +4684,9 @@
  	protection_map[12] = PAGE_READONLY;
  	protection_map[13] = PAGE_READONLY;
  	protection_map[14] = PAGE_SHARED;
-diff -urN linux-2.4.24/arch/sparc/mm/srmmu.c linux-2.4.24/arch/sparc/mm/srmmu.c
---- linux-2.4.24/arch/sparc/mm/srmmu.c	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/sparc/mm/srmmu.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/sparc/mm/srmmu.c linux-2.4.24-vs1.24-grsec/arch/sparc/mm/srmmu.c
+--- linux-2.4.24-vs1.24/arch/sparc/mm/srmmu.c	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/sparc/mm/srmmu.c	2004-01-20 16:58:23.000000000 -0600
 @@ -2047,6 +2047,13 @@
  	BTFIXUPSET_INT(page_shared, pgprot_val(SRMMU_PAGE_SHARED));
  	BTFIXUPSET_INT(page_copy, pgprot_val(SRMMU_PAGE_COPY));
@@ -4701,9 +4701,9 @@
  	BTFIXUPSET_INT(page_kernel, pgprot_val(SRMMU_PAGE_KERNEL));
  	page_kernel = pgprot_val(SRMMU_PAGE_KERNEL);
  	pg_iobits = SRMMU_VALID | SRMMU_WRITE | SRMMU_REF;
-diff -urN linux-2.4.24/arch/sparc64/config.in linux-2.4.24/arch/sparc64/config.in
---- linux-2.4.24/arch/sparc64/config.in	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/sparc64/config.in	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/sparc64/config.in linux-2.4.24-vs1.24-grsec/arch/sparc64/config.in
+--- linux-2.4.24-vs1.24/arch/sparc64/config.in	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/sparc64/config.in	2004-01-20 16:58:23.000000000 -0600
 @@ -317,3 +317,11 @@
  
  source crypto/Config.in
@@ -4716,9 +4716,9 @@
 +	source grsecurity/Config.in
 +fi
 +endmenu
-diff -urN linux-2.4.24/arch/sparc64/kernel/ioctl32.c linux-2.4.24/arch/sparc64/kernel/ioctl32.c
---- linux-2.4.24/arch/sparc64/kernel/ioctl32.c	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/sparc64/kernel/ioctl32.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/sparc64/kernel/ioctl32.c linux-2.4.24-vs1.24-grsec/arch/sparc64/kernel/ioctl32.c
+--- linux-2.4.24-vs1.24/arch/sparc64/kernel/ioctl32.c	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/sparc64/kernel/ioctl32.c	2004-01-20 16:58:23.000000000 -0600
 @@ -2046,7 +2046,11 @@
  	 * To have permissions to do most of the vt ioctls, we either have
  	 * to be the owner of the tty, or super-user.
@@ -4731,9 +4731,9 @@
  		return 1;
  	return 0;                                                    
  }
-diff -urN linux-2.4.24/arch/sparc64/kernel/itlb_base.S linux-2.4.24/arch/sparc64/kernel/itlb_base.S
---- linux-2.4.24/arch/sparc64/kernel/itlb_base.S	2003-06-13 10:51:32.000000000 -0400
-+++ linux-2.4.24/arch/sparc64/kernel/itlb_base.S	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/sparc64/kernel/itlb_base.S linux-2.4.24-vs1.24-grsec/arch/sparc64/kernel/itlb_base.S
+--- linux-2.4.24-vs1.24/arch/sparc64/kernel/itlb_base.S	2003-06-13 09:51:32.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/arch/sparc64/kernel/itlb_base.S	2004-01-20 16:58:23.000000000 -0600
 @@ -41,7 +41,9 @@
  	CREATE_VPTE_OFFSET2(%g4, %g6)			! Create VPTE offset
  	ldxa		[%g3 + %g6] ASI_P, %g5		! Load VPTE
@@ -4754,9 +4754,9 @@
  	CREATE_VPTE_NOP
  
  #undef CREATE_VPTE_OFFSET1
-diff -urN linux-2.4.24/arch/sparc64/kernel/ptrace.c linux-2.4.24/arch/sparc64/kernel/ptrace.c
---- linux-2.4.24/arch/sparc64/kernel/ptrace.c	2002-11-28 18:53:12.000000000 -0500
-+++ linux-2.4.24/arch/sparc64/kernel/ptrace.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/sparc64/kernel/ptrace.c linux-2.4.24-vs1.24-grsec/arch/sparc64/kernel/ptrace.c
+--- linux-2.4.24-vs1.24/arch/sparc64/kernel/ptrace.c	2004-01-20 16:58:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/sparc64/kernel/ptrace.c	2004-01-20 16:58:23.000000000 -0600
 @@ -18,6 +18,7 @@
  #include <linux/user.h>
  #include <linux/smp.h>
@@ -4777,9 +4777,9 @@
  	if ((current->personality == PER_SUNOS && request == PTRACE_SUNATTACH)
  	    || (current->personality != PER_SUNOS && request == PTRACE_ATTACH)) {
  		if (ptrace_attach(child)) {
-diff -urN linux-2.4.24/arch/sparc64/kernel/sys_sparc.c linux-2.4.24/arch/sparc64/kernel/sys_sparc.c
---- linux-2.4.24/arch/sparc64/kernel/sys_sparc.c	2003-08-25 07:44:40.000000000 -0400
-+++ linux-2.4.24/arch/sparc64/kernel/sys_sparc.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/sparc64/kernel/sys_sparc.c linux-2.4.24-vs1.24-grsec/arch/sparc64/kernel/sys_sparc.c
+--- linux-2.4.24-vs1.24/arch/sparc64/kernel/sys_sparc.c	2003-08-25 06:44:40.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/arch/sparc64/kernel/sys_sparc.c	2004-01-20 16:58:23.000000000 -0600
 @@ -24,6 +24,7 @@
  #include <linux/slab.h>
  #include <linux/ipc.h>
@@ -4825,9 +4825,9 @@
  	flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE);
  	len = PAGE_ALIGN(len);
  	retval = -EINVAL;
-diff -urN linux-2.4.24/arch/sparc64/kernel/sys_sparc32.c linux-2.4.24/arch/sparc64/kernel/sys_sparc32.c
---- linux-2.4.24/arch/sparc64/kernel/sys_sparc32.c	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/sparc64/kernel/sys_sparc32.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/sparc64/kernel/sys_sparc32.c linux-2.4.24-vs1.24-grsec/arch/sparc64/kernel/sys_sparc32.c
+--- linux-2.4.24-vs1.24/arch/sparc64/kernel/sys_sparc32.c	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/sparc64/kernel/sys_sparc32.c	2004-01-20 16:58:24.000000000 -0600
 @@ -52,6 +52,8 @@
  #include <linux/sysctl.h>
  #include <linux/dnotify.h>
@@ -4936,9 +4936,9 @@
  out:
  	/* Something went wrong, return the inode and free the argument pages*/
  	allow_write_access(bprm.file);
-diff -urN linux-2.4.24/arch/sparc64/kernel/sys_sunos32.c linux-2.4.24/arch/sparc64/kernel/sys_sunos32.c
---- linux-2.4.24/arch/sparc64/kernel/sys_sunos32.c	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/sparc64/kernel/sys_sunos32.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/sparc64/kernel/sys_sunos32.c linux-2.4.24-vs1.24-grsec/arch/sparc64/kernel/sys_sunos32.c
+--- linux-2.4.24-vs1.24/arch/sparc64/kernel/sys_sunos32.c	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/sparc64/kernel/sys_sunos32.c	2004-01-20 16:58:24.000000000 -0600
 @@ -68,6 +68,11 @@
  	struct file *file = NULL;
  	unsigned long retval, ret_type;
@@ -4951,9 +4951,9 @@
  	if(flags & MAP_NORESERVE) {
  		static int cnt;
  		if (cnt++ < 10)
-diff -urN linux-2.4.24/arch/sparc64/mm/fault.c linux-2.4.24/arch/sparc64/mm/fault.c
---- linux-2.4.24/arch/sparc64/mm/fault.c	2002-11-28 18:53:12.000000000 -0500
-+++ linux-2.4.24/arch/sparc64/mm/fault.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/sparc64/mm/fault.c linux-2.4.24-vs1.24-grsec/arch/sparc64/mm/fault.c
+--- linux-2.4.24-vs1.24/arch/sparc64/mm/fault.c	2002-11-28 17:53:12.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/sparc64/mm/fault.c	2004-01-20 16:58:24.000000000 -0600
 @@ -16,6 +16,9 @@
  #include <linux/smp_lock.h>
  #include <linux/init.h>
@@ -5368,9 +5368,9 @@
  	/* Pure DTLB misses do not tell us whether the fault causing
  	 * load/store/atomic was a write or not, it only says that there
  	 * was no match.  So in such a case we (carefully) read the
-diff -urN linux-2.4.24/arch/sparc64/solaris/misc.c linux-2.4.24/arch/sparc64/solaris/misc.c
---- linux-2.4.24/arch/sparc64/solaris/misc.c	2002-11-28 18:53:12.000000000 -0500
-+++ linux-2.4.24/arch/sparc64/solaris/misc.c	2004-01-05 11:39:43.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/sparc64/solaris/misc.c linux-2.4.24-vs1.24-grsec/arch/sparc64/solaris/misc.c
+--- linux-2.4.24-vs1.24/arch/sparc64/solaris/misc.c	2002-11-28 17:53:12.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/sparc64/solaris/misc.c	2004-01-20 16:58:24.000000000 -0600
 @@ -53,6 +53,11 @@
  	struct file *file = NULL;
  	unsigned long retval, ret_type;
@@ -5383,9 +5383,9 @@
  	/* Do we need it here? */
  	set_personality(PER_SVR4);
  	if (flags & MAP_NORESERVE) {
-diff -urN linux-2.4.24/arch/x86_64/ia32/ia32_ioctl.c linux-2.4.24/arch/x86_64/ia32/ia32_ioctl.c
---- linux-2.4.24/arch/x86_64/ia32/ia32_ioctl.c	2003-11-28 13:26:19.000000000 -0500
-+++ linux-2.4.24/arch/x86_64/ia32/ia32_ioctl.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/arch/x86_64/ia32/ia32_ioctl.c linux-2.4.24-vs1.24-grsec/arch/x86_64/ia32/ia32_ioctl.c
+--- linux-2.4.24-vs1.24/arch/x86_64/ia32/ia32_ioctl.c	2003-11-28 12:26:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/arch/x86_64/ia32/ia32_ioctl.c	2004-01-20 16:58:24.000000000 -0600
 @@ -1932,7 +1932,11 @@
  	 * To have permissions to do most of the vt ioctls, we either have
  	 * to be the owner of the tty, or super-user.
@@ -5398,9 +5398,9 @@
  		return 1;
  	return 0;                                                    
  }
-diff -urN linux-2.4.24/drivers/char/keyboard.c linux-2.4.24/drivers/char/keyboard.c
---- linux-2.4.24/drivers/char/keyboard.c	2003-11-28 13:26:20.000000000 -0500
-+++ linux-2.4.24/drivers/char/keyboard.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/drivers/char/keyboard.c linux-2.4.24-vs1.24-grsec/drivers/char/keyboard.c
+--- linux-2.4.24-vs1.24/drivers/char/keyboard.c	2003-11-28 12:26:20.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/drivers/char/keyboard.c	2004-01-20 16:58:24.000000000 -0600
 @@ -545,6 +545,16 @@
  	if ((kbd->kbdmode == VC_RAW || kbd->kbdmode == VC_MEDIUMRAW) &&
  	    !(SPECIALS_ALLOWED_IN_RAW_MODE & (1 << value)))
@@ -5418,9 +5418,9 @@
  	spec_fn_table[value]();
  }
  
-diff -urN linux-2.4.24/drivers/char/mem.c linux-2.4.24/drivers/char/mem.c
---- linux-2.4.24/drivers/char/mem.c	2003-11-28 13:26:20.000000000 -0500
-+++ linux-2.4.24/drivers/char/mem.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/drivers/char/mem.c linux-2.4.24-vs1.24-grsec/drivers/char/mem.c
+--- linux-2.4.24-vs1.24/drivers/char/mem.c	2003-11-28 12:26:20.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/drivers/char/mem.c	2004-01-20 16:58:24.000000000 -0600
 @@ -22,6 +22,7 @@
  #include <linux/tty.h>
  #include <linux/capability.h>
@@ -5511,9 +5511,9 @@
  #define open_kmem	open_mem
  
  static struct file_operations mem_fops = {
-diff -urN linux-2.4.24/drivers/char/random.c linux-2.4.24/drivers/char/random.c
---- linux-2.4.24/drivers/char/random.c	2003-08-25 07:44:41.000000000 -0400
-+++ linux-2.4.24/drivers/char/random.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/drivers/char/random.c linux-2.4.24-vs1.24-grsec/drivers/char/random.c
+--- linux-2.4.24-vs1.24/drivers/char/random.c	2003-08-25 06:44:41.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/drivers/char/random.c	2004-01-20 16:58:24.000000000 -0600
 @@ -262,9 +262,15 @@
  /*
   * Configuration information
@@ -5568,9 +5568,9 @@
  #ifdef CONFIG_SYN_COOKIES
  /*
   * Secure SYN cookie computation. This is the algorithm worked out by
-diff -urN linux-2.4.24/drivers/char/tty_io.c linux-2.4.24/drivers/char/tty_io.c
---- linux-2.4.24/drivers/char/tty_io.c	2003-11-28 13:26:20.000000000 -0500
-+++ linux-2.4.24/drivers/char/tty_io.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/drivers/char/tty_io.c linux-2.4.24-vs1.24-grsec/drivers/char/tty_io.c
+--- linux-2.4.24-vs1.24/drivers/char/tty_io.c	2003-11-28 12:26:20.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/drivers/char/tty_io.c	2004-01-20 16:58:24.000000000 -0600
 @@ -99,7 +99,7 @@
  #include <linux/vt_kern.h>
  #include <linux/selection.h>
@@ -5628,9 +5628,9 @@
  			/*
  			 * Steal it away
  			 */
-diff -urN linux-2.4.24/drivers/char/vt.c linux-2.4.24/drivers/char/vt.c
---- linux-2.4.24/drivers/char/vt.c	2002-11-28 18:53:12.000000000 -0500
-+++ linux-2.4.24/drivers/char/vt.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/drivers/char/vt.c linux-2.4.24-vs1.24-grsec/drivers/char/vt.c
+--- linux-2.4.24-vs1.24/drivers/char/vt.c	2002-11-28 17:53:12.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/drivers/char/vt.c	2004-01-20 16:58:24.000000000 -0600
 @@ -32,6 +32,7 @@
  #include <linux/vt_kern.h>
  #include <linux/kbd_diacr.h>
@@ -5672,9 +5672,9 @@
  		   return -EPERM;
  		vt_dont_switch = 0;
  		return 0;
-diff -urN linux-2.4.24/drivers/pci/proc.c linux-2.4.24/drivers/pci/proc.c
---- linux-2.4.24/drivers/pci/proc.c	2002-11-28 18:53:14.000000000 -0500
-+++ linux-2.4.24/drivers/pci/proc.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/drivers/pci/proc.c linux-2.4.24-vs1.24-grsec/drivers/pci/proc.c
+--- linux-2.4.24-vs1.24/drivers/pci/proc.c	2002-11-28 17:53:14.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/drivers/pci/proc.c	2004-01-20 16:58:24.000000000 -0600
 @@ -562,7 +562,15 @@
  		pci_for_each_dev(dev) {
  			pci_proc_attach_device(dev);
@@ -5691,21 +5691,21 @@
  		if (entry)
  			entry->proc_fops = &proc_pci_operations;
  	}
-diff -urN linux-2.4.24/fs/Makefile linux-2.4.24/fs/Makefile
---- linux-2.4.24/fs/Makefile	2003-08-25 07:44:43.000000000 -0400
-+++ linux-2.4.24/fs/Makefile	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/fs/Makefile linux-2.4.24-vs1.24-grsec/fs/Makefile
+--- linux-2.4.24-vs1.24/fs/Makefile	2004-01-20 16:58:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/fs/Makefile	2004-01-20 16:58:24.000000000 -0600
 @@ -7,7 +7,7 @@
  
  O_TARGET := fs.o
  
--export-objs :=	filesystems.o open.o dcache.o buffer.o dquot.o
-+export-objs :=	filesystems.o open.o dcache.o buffer.o dquot.o exec.o
+-export-objs :=	filesystems.o open.o dcache.o buffer.o dquot.o quota.o
++export-objs :=	filesystems.o open.o dcache.o buffer.o dquot.o quota.o exec.o
  mod-subdirs :=	nls
  
  obj-y :=	open.o read_write.o devices.o file_table.o buffer.o \
-diff -urN linux-2.4.24/fs/binfmt_aout.c linux-2.4.24/fs/binfmt_aout.c
---- linux-2.4.24/fs/binfmt_aout.c	2001-11-02 20:39:20.000000000 -0500
-+++ linux-2.4.24/fs/binfmt_aout.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/fs/binfmt_aout.c linux-2.4.24-vs1.24-grsec/fs/binfmt_aout.c
+--- linux-2.4.24-vs1.24/fs/binfmt_aout.c	2001-11-02 19:39:20.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/fs/binfmt_aout.c	2004-01-20 16:58:24.000000000 -0600
 @@ -5,6 +5,7 @@
   */
  
@@ -5783,9 +5783,9 @@
  				MAP_FIXED | MAP_PRIVATE | MAP_DENYWRITE | MAP_EXECUTABLE,
  				fd_offset + ex.a_text);
  		up_write(&current->mm->mmap_sem);
-diff -urN linux-2.4.24/fs/binfmt_elf.c linux-2.4.24/fs/binfmt_elf.c
---- linux-2.4.24/fs/binfmt_elf.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/fs/binfmt_elf.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/fs/binfmt_elf.c linux-2.4.24-vs1.24-grsec/fs/binfmt_elf.c
+--- linux-2.4.24-vs1.24/fs/binfmt_elf.c	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/fs/binfmt_elf.c	2004-01-20 16:58:24.000000000 -0600
 @@ -11,6 +11,7 @@
  
  #include <linux/module.h>
@@ -6092,9 +6092,9 @@
  #define DUMP_SEEK(off)	\
  	if (!dump_seek(file, (off))) \
  		goto end_coredump;
-diff -urN linux-2.4.24/fs/buffer.c linux-2.4.24/fs/buffer.c
---- linux-2.4.24/fs/buffer.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/fs/buffer.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/fs/buffer.c linux-2.4.24-vs1.24-grsec/fs/buffer.c
+--- linux-2.4.24-vs1.24/fs/buffer.c	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/fs/buffer.c	2004-01-20 16:58:24.000000000 -0600
 @@ -1826,6 +1826,9 @@
  	int err;
  
@@ -6105,9 +6105,9 @@
          limit = current->rlim[RLIMIT_FSIZE].rlim_cur;
  	if (limit != RLIM_INFINITY && size > (loff_t)limit) {
  		send_sig(SIGXFSZ, current, 0);
-diff -urN linux-2.4.24/fs/exec.c linux-2.4.24/fs/exec.c
---- linux-2.4.24/fs/exec.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/fs/exec.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/fs/exec.c linux-2.4.24-vs1.24-grsec/fs/exec.c
+--- linux-2.4.24-vs1.24/fs/exec.c	2004-01-20 16:58:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/fs/exec.c	2004-01-20 17:11:39.000000000 -0600
 @@ -43,6 +43,9 @@
  #include <asm/uaccess.h>
  #include <asm/pgalloc.h>
@@ -6442,9 +6442,9 @@
  		goto close_fail;
  
  	retval = binfmt->core_dump(signr, regs, file);
-diff -urN linux-2.4.24/fs/fcntl.c linux-2.4.24/fs/fcntl.c
---- linux-2.4.24/fs/fcntl.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/fs/fcntl.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/fs/fcntl.c linux-2.4.24-vs1.24-grsec/fs/fcntl.c
+--- linux-2.4.24-vs1.24/fs/fcntl.c	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/fs/fcntl.c	2004-01-20 16:58:24.000000000 -0600
 @@ -12,6 +12,7 @@
  #include <linux/slab.h>
  #include <linux/iobuf.h>
@@ -6488,9 +6488,9 @@
  		send_sigio_to_task(p, fown, fd, band);
  	}
  out:
-diff -urN linux-2.4.24/fs/locks.c linux-2.4.24/fs/locks.c
---- linux-2.4.24/fs/locks.c	2003-08-25 07:44:43.000000000 -0400
-+++ linux-2.4.24/fs/locks.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/fs/locks.c linux-2.4.24-vs1.24-grsec/fs/locks.c
+--- linux-2.4.24-vs1.24/fs/locks.c	2003-08-25 06:44:43.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/fs/locks.c	2004-01-20 16:58:24.000000000 -0600
 @@ -138,6 +138,7 @@
  static struct file_lock *locks_alloc_lock(int account)
  {
@@ -6499,18 +6499,18 @@
  	if (account && current->locks >= current->rlim[RLIMIT_LOCKS].rlim_cur)
  		return NULL;
  	fl = kmem_cache_alloc(filelock_cache, SLAB_KERNEL);
-diff -urN linux-2.4.24/fs/namei.c linux-2.4.24/fs/namei.c
---- linux-2.4.24/fs/namei.c	2003-08-25 07:44:43.000000000 -0400
-+++ linux-2.4.24/fs/namei.c	2004-01-05 11:39:44.000000000 -0500
-@@ -22,6 +22,7 @@
- #include <linux/dnotify.h>
+diff -urN linux-2.4.24-vs1.24/fs/namei.c linux-2.4.24-vs1.24-grsec/fs/namei.c
+--- linux-2.4.24-vs1.24/fs/namei.c	2004-01-20 16:58:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/fs/namei.c	2004-01-20 16:58:24.000000000 -0600
+@@ -23,6 +23,7 @@
  #include <linux/smp_lock.h>
  #include <linux/personality.h>
+ #include <linux/vcontext.h>
 +#include <linux/grsecurity.h>
  
  #include <asm/namei.h>
  #include <asm/uaccess.h>
-@@ -343,6 +344,13 @@
+@@ -353,6 +354,13 @@
  		current->state = TASK_RUNNING;
  		schedule();
  	}
@@ -6524,7 +6524,7 @@
  	current->link_count++;
  	current->total_link_count++;
  	UPDATE_ATIME(dentry->d_inode);
-@@ -643,6 +651,10 @@
+@@ -653,6 +661,10 @@
  			}
  		}
  return_base:
@@ -6535,7 +6535,7 @@
  		return 0;
  out_dput:
  		dput(dentry);
-@@ -1005,7 +1017,7 @@
+@@ -1014,7 +1026,7 @@
  	struct dentry *dentry;
  	struct dentry *dir;
  	int count = 0;
@@ -6544,7 +6544,7 @@
  	acc_mode = ACC_MODE(flag);
  
  	/*
-@@ -1015,7 +1027,21 @@
+@@ -1024,7 +1036,21 @@
  		error = path_lookup(pathname, lookup_flags(flag), nd);
  		if (error)
  			return error;
@@ -6566,7 +6566,7 @@
  		goto ok;
  	}
  
-@@ -1048,8 +1074,22 @@
+@@ -1057,8 +1083,22 @@
  
  	/* Negative dentry, just create the file */
  	if (!dentry->d_inode) {
@@ -6589,7 +6589,7 @@
  		up(&dir->d_inode->i_sem);
  		dput(nd->dentry);
  		nd->dentry = dentry;
-@@ -1058,12 +1098,35 @@
+@@ -1067,12 +1107,35 @@
  		/* Don't check for write permission, don't truncate */
  		acc_mode = 0;
  		flag &= ~O_TRUNC;
@@ -6625,7 +6625,7 @@
  	up(&dir->d_inode->i_sem);
  
  	error = -EEXIST;
-@@ -1153,7 +1216,7 @@
+@@ -1162,7 +1225,7 @@
  		if (!error) {
  			DQUOT_INIT(inode);
  			
@@ -6634,7 +6634,7 @@
  		}
  		put_write_access(inode);
  		if (error)
-@@ -1184,6 +1247,13 @@
+@@ -1193,6 +1256,13 @@
  	 * stored in nd->last.name and we will have to putname() it when we
  	 * are done. Procfs-like symlinks just set LAST_BIND.
  	 */
@@ -6648,7 +6648,7 @@
  	UPDATE_ATIME(dentry->d_inode);
  	error = dentry->d_inode->i_op->follow_link(dentry, nd);
  	dput(dentry);
-@@ -1282,6 +1352,19 @@
+@@ -1291,6 +1361,19 @@
  
  	mode &= ~current->fs->umask;
  	if (!IS_ERR(dentry)) {
@@ -6668,7 +6668,7 @@
  		switch (mode & S_IFMT) {
  		case 0: case S_IFREG:
  			error = vfs_create(nd.dentry->d_inode,dentry,mode);
-@@ -1295,8 +1378,13 @@
+@@ -1304,8 +1387,13 @@
  		default:
  			error = -EINVAL;
  		}
@@ -6682,7 +6682,7 @@
  	up(&nd.dentry->d_inode->i_sem);
  	path_release(&nd);
  out:
-@@ -1348,8 +1436,17 @@
+@@ -1357,8 +1445,17 @@
  		dentry = lookup_create(&nd, 1);
  		error = PTR_ERR(dentry);
  		if (!IS_ERR(dentry)) {
@@ -6701,7 +6701,7 @@
  			dput(dentry);
  		}
  		up(&nd.dentry->d_inode->i_sem);
-@@ -1433,6 +1530,8 @@
+@@ -1442,6 +1539,8 @@
  	char * name;
  	struct dentry *dentry;
  	struct nameidata nd;
@@ -6710,7 +6710,7 @@
  
  	name = getname(pathname);
  	if(IS_ERR(name))
-@@ -1457,7 +1556,22 @@
+@@ -1466,7 +1565,22 @@
  	dentry = lookup_hash(&nd.last, nd.dentry);
  	error = PTR_ERR(dentry);
  	if (!IS_ERR(dentry)) {
@@ -6734,7 +6734,7 @@
  		dput(dentry);
  	}
  	up(&nd.dentry->d_inode->i_sem);
-@@ -1501,6 +1615,8 @@
+@@ -1510,6 +1624,8 @@
  	char * name;
  	struct dentry *dentry;
  	struct nameidata nd;
@@ -6743,7 +6743,7 @@
  
  	name = getname(pathname);
  	if(IS_ERR(name))
-@@ -1519,7 +1635,21 @@
+@@ -1528,7 +1644,21 @@
  		/* Why not before? Because we want correct error value */
  		if (nd.last.name[nd.last.len])
  			goto slashes;
@@ -6766,7 +6766,7 @@
  	exit2:
  		dput(dentry);
  	}
-@@ -1583,7 +1713,15 @@
+@@ -1592,7 +1722,15 @@
  		dentry = lookup_create(&nd, 0);
  		error = PTR_ERR(dentry);
  		if (!IS_ERR(dentry)) {
@@ -6783,7 +6783,7 @@
  			dput(dentry);
  		}
  		up(&nd.dentry->d_inode->i_sem);
-@@ -1667,7 +1805,27 @@
+@@ -1676,7 +1814,27 @@
  		new_dentry = lookup_create(&nd, 0);
  		error = PTR_ERR(new_dentry);
  		if (!IS_ERR(new_dentry)) {
@@ -6812,7 +6812,7 @@
  			dput(new_dentry);
  		}
  		up(&nd.dentry->d_inode->i_sem);
-@@ -1898,10 +2056,15 @@
+@@ -1907,10 +2065,15 @@
  	if (IS_ERR(new_dentry))
  		goto exit4;
  
@@ -6831,9 +6831,9 @@
  
  	dput(new_dentry);
  exit4:
-diff -urN linux-2.4.24/fs/namespace.c linux-2.4.24/fs/namespace.c
---- linux-2.4.24/fs/namespace.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/fs/namespace.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/fs/namespace.c linux-2.4.24-vs1.24-grsec/fs/namespace.c
+--- linux-2.4.24-vs1.24/fs/namespace.c	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/fs/namespace.c	2004-01-20 16:58:24.000000000 -0600
 @@ -15,6 +15,8 @@
  #include <linux/quotaops.h>
  #include <linux/acct.h>
@@ -6895,9 +6895,9 @@
  	lock_kernel();
  
  	error = __user_walk(new_root, LOOKUP_POSITIVE|LOOKUP_FOLLOW|LOOKUP_DIRECTORY, &new_nd);
-diff -urN linux-2.4.24/fs/open.c linux-2.4.24/fs/open.c
---- linux-2.4.24/fs/open.c	2003-08-25 07:44:43.000000000 -0400
-+++ linux-2.4.24/fs/open.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/fs/open.c linux-2.4.24-vs1.24-grsec/fs/open.c
+--- linux-2.4.24-vs1.24/fs/open.c	2004-01-20 16:58:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/fs/open.c	2004-01-20 16:58:24.000000000 -0600
 @@ -15,6 +15,7 @@
  #include <linux/slab.h>
  #include <linux/tty.h>
@@ -7022,7 +7022,7 @@
  	path_release(&nd);
 @@ -482,8 +519,20 @@
  	err = -EPERM;
- 	if (IS_IMMUTABLE(inode) || IS_APPEND(inode))
+ 	if (IS_IMMUTABLE_FILE(inode) || IS_APPEND(inode))
  		goto out_putf;
 +
 +	if (!gr_acl_handle_fchmod(dentry, file->f_vfsmnt)) {
@@ -7042,7 +7042,7 @@
  	newattrs.ia_valid = ATTR_MODE | ATTR_CTIME;
  	err = notify_change(dentry, &newattrs);
 @@ -514,8 +563,19 @@
- 	if (IS_IMMUTABLE(inode) || IS_APPEND(inode))
+ 	if (IS_IMMUTABLE_FILE(inode) || IS_APPEND(inode))
  		goto dput_and_out;
  
 +	if (!gr_acl_handle_chmod(nd.dentry, nd.mnt)) {
@@ -7072,7 +7072,7 @@
  	int error;
 @@ -543,6 +603,12 @@
  	error = -EPERM;
- 	if (IS_IMMUTABLE(inode) || IS_APPEND(inode))
+ 	if (IS_IMMUTABLE_FILE(inode) || IS_APPEND(inode))
  		goto out;
 +
 +	if (!gr_acl_handle_chown(dentry, mnt)) {
@@ -7119,10 +7119,10 @@
  	if (fd >= current->rlim[RLIMIT_NOFILE].rlim_cur)
  		goto out;
  
-diff -urN linux-2.4.24/fs/proc/array.c linux-2.4.24/fs/proc/array.c
---- linux-2.4.24/fs/proc/array.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/fs/proc/array.c	2004-01-05 11:39:44.000000000 -0500
-@@ -298,6 +298,12 @@
+diff -urN linux-2.4.24-vs1.24/fs/proc/array.c linux-2.4.24-vs1.24-grsec/fs/proc/array.c
+--- linux-2.4.24-vs1.24/fs/proc/array.c	2004-01-20 16:58:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/fs/proc/array.c	2004-01-20 16:58:24.000000000 -0600
+@@ -354,6 +354,12 @@
  	return buffer - orig;
  }
  
@@ -7135,7 +7135,7 @@
  int proc_pid_stat(struct task_struct *task, char * buffer)
  {
  	unsigned long vsize, eip, esp, wchan;
-@@ -335,6 +341,19 @@
+@@ -391,6 +397,19 @@
  
  	wchan = get_wchan(task);
  
@@ -7155,7 +7155,7 @@
  	collect_sigign_sigcatch(task, &sigign, &sigcatch);
  
  	/* scale priority and nice values from timeslices to -20..20 */
-@@ -374,9 +393,15 @@
+@@ -432,9 +451,15 @@
  		vsize,
  		mm ? mm->rss : 0, /* you might want to shift this left 3 */
  		task->rlim[RLIMIT_RSS].rlim_cur,
@@ -7171,7 +7171,7 @@
  		esp,
  		eip,
  		/* The signal information here is obsolete.
-@@ -514,6 +539,7 @@
+@@ -572,6 +597,7 @@
  
  static int show_map(struct seq_file *m, void *v)
  {
@@ -7179,7 +7179,7 @@
  	struct vm_area_struct *map = v;
  	struct file *file = map->vm_file;
  	int flags = map->vm_flags;
-@@ -528,8 +554,13 @@
+@@ -586,8 +612,13 @@
  	}
  
  	seq_printf(m, "%08lx-%08lx %c%c%c%c %08lx %02x:%02x %lu %n",
@@ -7193,9 +7193,9 @@
  			flags & VM_READ ? 'r' : '-',
  			flags & VM_WRITE ? 'w' : '-',
  			flags & VM_EXEC ? 'x' : '-',
-diff -urN linux-2.4.24/fs/proc/base.c linux-2.4.24/fs/proc/base.c
---- linux-2.4.24/fs/proc/base.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/fs/proc/base.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/fs/proc/base.c linux-2.4.24-vs1.24-grsec/fs/proc/base.c
+--- linux-2.4.24-vs1.24/fs/proc/base.c	2004-01-20 16:58:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/fs/proc/base.c	2004-01-20 16:58:24.000000000 -0600
 @@ -25,6 +25,7 @@
  #include <linux/string.h>
  #include <linux/seq_file.h>
@@ -7246,10 +7246,10 @@
  	}
  
  out:
-@@ -1078,13 +1099,35 @@
- 	if (!task)
+@@ -1082,13 +1103,35 @@
+ 		free_task_struct(task);
  		goto out;
- 
+ 	}
 +	if(gr_check_hidden_task(task)) {
 +		free_task_struct(task);
 +		goto out;
@@ -7282,9 +7282,9 @@
  	inode->i_op = &proc_base_inode_operations;
  	inode->i_fop = &proc_base_operations;
  	inode->i_nlink = 3;
-@@ -1124,6 +1167,18 @@
- 		int pid = p->pid;
- 		if (!pid)
+@@ -1140,6 +1183,18 @@
+ 		/* We hide the fakeinit process since we show it as process 1 */
+ 		if (current->s_info && current->s_info->initpid == pid)
  			continue;
 +		if(gr_pid_is_chrooted(p))
 +			continue;
@@ -7301,10 +7301,10 @@
  		if (--index >= 0)
  			continue;
  		pids[nr_pids] = pid;
-diff -urN linux-2.4.24/fs/proc/generic.c linux-2.4.24/fs/proc/generic.c
---- linux-2.4.24/fs/proc/generic.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/fs/proc/generic.c	2004-01-05 11:39:44.000000000 -0500
-@@ -504,6 +504,32 @@
+diff -urN linux-2.4.24-vs1.24/fs/proc/generic.c linux-2.4.24-vs1.24-grsec/fs/proc/generic.c
+--- linux-2.4.24-vs1.24/fs/proc/generic.c	2004-01-20 16:58:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/fs/proc/generic.c	2004-01-20 16:58:24.000000000 -0600
+@@ -512,6 +512,32 @@
  	return ent;
  }
  
@@ -7337,9 +7337,9 @@
  struct proc_dir_entry *create_proc_entry(const char *name, mode_t mode,
  					 struct proc_dir_entry *parent)
  {
-diff -urN linux-2.4.24/fs/proc/inode.c linux-2.4.24/fs/proc/inode.c
---- linux-2.4.24/fs/proc/inode.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/fs/proc/inode.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/fs/proc/inode.c linux-2.4.24-vs1.24-grsec/fs/proc/inode.c
+--- linux-2.4.24-vs1.24/fs/proc/inode.c	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/fs/proc/inode.c	2004-01-20 16:58:24.000000000 -0600
 @@ -152,7 +152,11 @@
  		if (de->mode) {
  			inode->i_mode = de->mode;
@@ -7352,9 +7352,9 @@
  		}
  		if (de->size)
  			inode->i_size = de->size;
-diff -urN linux-2.4.24/fs/proc/proc_misc.c linux-2.4.24/fs/proc/proc_misc.c
---- linux-2.4.24/fs/proc/proc_misc.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/fs/proc/proc_misc.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/fs/proc/proc_misc.c linux-2.4.24-vs1.24-grsec/fs/proc/proc_misc.c
+--- linux-2.4.24-vs1.24/fs/proc/proc_misc.c	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/fs/proc/proc_misc.c	2004-01-20 16:58:24.000000000 -0600
 @@ -590,6 +590,7 @@
  void __init proc_misc_init(void)
  {
@@ -7451,9 +7451,9 @@
  	if (prof_shift) {
  		entry = create_proc_entry("profile", S_IWUSR | S_IRUGO, NULL);
  		if (entry) {
-diff -urN linux-2.4.24/fs/proc/proc_tty.c linux-2.4.24/fs/proc/proc_tty.c
---- linux-2.4.24/fs/proc/proc_tty.c	2000-04-21 18:17:57.000000000 -0400
-+++ linux-2.4.24/fs/proc/proc_tty.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/fs/proc/proc_tty.c linux-2.4.24-vs1.24-grsec/fs/proc/proc_tty.c
+--- linux-2.4.24-vs1.24/fs/proc/proc_tty.c	2000-04-21 17:17:57.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/fs/proc/proc_tty.c	2004-01-20 16:58:24.000000000 -0600
 @@ -174,7 +174,11 @@
  	if (!proc_mkdir("tty", 0))
  		return;
@@ -7466,9 +7466,9 @@
  
  	create_proc_read_entry("tty/ldiscs", 0, 0, tty_ldiscs_read_proc,NULL);
  	create_proc_read_entry("tty/drivers", 0, 0, tty_drivers_read_proc,NULL);
-diff -urN linux-2.4.24/fs/proc/root.c linux-2.4.24/fs/proc/root.c
---- linux-2.4.24/fs/proc/root.c	2002-08-02 20:39:45.000000000 -0400
-+++ linux-2.4.24/fs/proc/root.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/fs/proc/root.c linux-2.4.24-vs1.24-grsec/fs/proc/root.c
+--- linux-2.4.24-vs1.24/fs/proc/root.c	2002-08-02 19:39:45.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/fs/proc/root.c	2004-01-20 16:58:24.000000000 -0600
 @@ -37,13 +37,21 @@
  		return;
  	}
@@ -7504,9 +7504,9 @@
  }
  
  static struct dentry *proc_root_lookup(struct inode * dir, struct dentry * dentry)
-diff -urN linux-2.4.24/fs/readdir.c linux-2.4.24/fs/readdir.c
---- linux-2.4.24/fs/readdir.c	2002-08-02 20:39:45.000000000 -0400
-+++ linux-2.4.24/fs/readdir.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/fs/readdir.c linux-2.4.24-vs1.24-grsec/fs/readdir.c
+--- linux-2.4.24-vs1.24/fs/readdir.c	2002-08-02 19:39:45.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/fs/readdir.c	2004-01-20 16:58:24.000000000 -0600
 @@ -10,6 +10,7 @@
  #include <linux/stat.h>
  #include <linux/file.h>
@@ -7602,9 +7602,9 @@
  	error = vfs_readdir(file, filldir64, &buf);
  	if (error < 0)
  		goto out_putf;
-diff -urN linux-2.4.24/grsecurity/Config.in linux-2.4.24/grsecurity/Config.in
---- linux-2.4.24/grsecurity/Config.in	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/Config.in	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/Config.in linux-2.4.24-vs1.24-grsec/grsecurity/Config.in
+--- linux-2.4.24-vs1.24/grsecurity/Config.in	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/Config.in	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,368 @@
 +define_bool CONFIG_CRYPTO y
 +define_bool CONFIG_CRYPTO_SHA256 y
@@ -7974,9 +7974,9 @@
 +int 'Number of messages in a burst (maximum)' CONFIG_GRKERNSEC_FLOODBURST 4
 +endmenu
 +fi
-diff -urN linux-2.4.24/grsecurity/Makefile linux-2.4.24/grsecurity/Makefile
---- linux-2.4.24/grsecurity/Makefile	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/Makefile	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/Makefile linux-2.4.24-vs1.24-grsec/grsecurity/Makefile
+--- linux-2.4.24-vs1.24/grsecurity/Makefile	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/Makefile	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,23 @@
 +# grsecurity's ACL system was originally written in 2001 by Michael Dalton
 +# during 2001, 2002, and 2003 it has been completely redesigned by
@@ -8001,9 +8001,9 @@
 +endif
 +
 +include $(TOPDIR)/Rules.make
-diff -urN linux-2.4.24/grsecurity/gracl.c linux-2.4.24/grsecurity/gracl.c
---- linux-2.4.24/grsecurity/gracl.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/gracl.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/gracl.c linux-2.4.24-vs1.24-grsec/grsecurity/gracl.c
+--- linux-2.4.24-vs1.24/grsecurity/gracl.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/gracl.c	2004-01-20 17:11:39.000000000 -0600
 @@ -0,0 +1,2010 @@
 +/* 
 + * grsecurity/gracl.c
@@ -10015,9 +10015,9 @@
 +
 +	return;
 +}
-diff -urN linux-2.4.24/grsecurity/gracl_alloc.c linux-2.4.24/grsecurity/gracl_alloc.c
---- linux-2.4.24/grsecurity/gracl_alloc.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/gracl_alloc.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/gracl_alloc.c linux-2.4.24-vs1.24-grsec/grsecurity/gracl_alloc.c
+--- linux-2.4.24-vs1.24/grsecurity/gracl_alloc.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/gracl_alloc.c	2004-01-20 17:11:39.000000000 -0600
 @@ -0,0 +1,93 @@
 +/* stack-based acl allocation tracking (c) Brad Spengler 2002,2003 */
 +
@@ -10112,9 +10112,9 @@
 +	else
 +		return 1;
 +}
-diff -urN linux-2.4.24/grsecurity/gracl_cap.c linux-2.4.24/grsecurity/gracl_cap.c
---- linux-2.4.24/grsecurity/gracl_cap.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/gracl_cap.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/gracl_cap.c linux-2.4.24-vs1.24-grsec/grsecurity/gracl_cap.c
+--- linux-2.4.24-vs1.24/grsecurity/gracl_cap.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/gracl_cap.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,67 @@
 +/* capability handling routines, (c) Brad Spengler 2002,2003 */
 +
@@ -10183,9 +10183,9 @@
 +
 +	return 0;
 +}
-diff -urN linux-2.4.24/grsecurity/gracl_fs.c linux-2.4.24/grsecurity/gracl_fs.c
---- linux-2.4.24/grsecurity/gracl_fs.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/gracl_fs.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/gracl_fs.c linux-2.4.24-vs1.24-grsec/grsecurity/gracl_fs.c
+--- linux-2.4.24-vs1.24/grsecurity/gracl_fs.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/gracl_fs.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,437 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
@@ -10624,9 +10624,9 @@
 +
 +	return 0;
 +}
-diff -urN linux-2.4.24/grsecurity/gracl_ip.c linux-2.4.24/grsecurity/gracl_ip.c
---- linux-2.4.24/grsecurity/gracl_ip.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/gracl_ip.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/gracl_ip.c linux-2.4.24-vs1.24-grsec/grsecurity/gracl_ip.c
+--- linux-2.4.24-vs1.24/grsecurity/gracl_ip.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/gracl_ip.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,165 @@
 +/* 
 + * grsecurity/gracl_ip.c
@@ -10793,9 +10793,9 @@
 +
 +	return gr_search_connectbind(GR_CONNECT, sk, &sin, SOCK_DGRAM);
 +}
-diff -urN linux-2.4.24/grsecurity/gracl_res.c linux-2.4.24/grsecurity/gracl_res.c
---- linux-2.4.24/grsecurity/gracl_res.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/gracl_res.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/gracl_res.c linux-2.4.24-vs1.24-grsec/grsecurity/gracl_res.c
+--- linux-2.4.24-vs1.24/grsecurity/gracl_res.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/gracl_res.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,41 @@
 +/* resource handling routines (c) Brad Spengler 2002, 2003 */
 +
@@ -10838,9 +10838,9 @@
 +
 +	return;
 +}
-diff -urN linux-2.4.24/grsecurity/gracl_segv.c linux-2.4.24/grsecurity/gracl_segv.c
---- linux-2.4.24/grsecurity/gracl_segv.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/gracl_segv.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/gracl_segv.c linux-2.4.24-vs1.24-grsec/grsecurity/gracl_segv.c
+--- linux-2.4.24-vs1.24/grsecurity/gracl_segv.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/gracl_segv.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,313 @@
 +/* 
 + * grsecurity/gracl_segv.c
@@ -11155,9 +11155,9 @@
 +
 +	return;
 +}
-diff -urN linux-2.4.24/grsecurity/gracl_shm.c linux-2.4.24/grsecurity/gracl_shm.c
---- linux-2.4.24/grsecurity/gracl_shm.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/gracl_shm.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/gracl_shm.c linux-2.4.24-vs1.24-grsec/grsecurity/gracl_shm.c
+--- linux-2.4.24-vs1.24/grsecurity/gracl_shm.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/gracl_shm.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,36 @@
 +/* shared memory handling routines, (c) Brad Spengler 2002, 2003 */
 +
@@ -11195,9 +11195,9 @@
 +
 +	return 1;
 +}
-diff -urN linux-2.4.24/grsecurity/grsec_chdir.c linux-2.4.24/grsecurity/grsec_chdir.c
---- linux-2.4.24/grsecurity/grsec_chdir.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/grsec_chdir.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/grsec_chdir.c linux-2.4.24-vs1.24-grsec/grsecurity/grsec_chdir.c
+--- linux-2.4.24-vs1.24/grsecurity/grsec_chdir.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/grsec_chdir.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,20 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
@@ -11219,9 +11219,9 @@
 +#endif
 +	return;
 +}
-diff -urN linux-2.4.24/grsecurity/grsec_chroot.c linux-2.4.24/grsecurity/grsec_chroot.c
---- linux-2.4.24/grsecurity/grsec_chroot.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/grsec_chroot.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/grsec_chroot.c linux-2.4.24-vs1.24-grsec/grsecurity/grsec_chroot.c
+--- linux-2.4.24-vs1.24/grsecurity/grsec_chroot.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/grsec_chroot.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,323 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
@@ -11546,9 +11546,9 @@
 +#endif
 +	return 0;
 +}
-diff -urN linux-2.4.24/grsecurity/grsec_disabled.c linux-2.4.24/grsecurity/grsec_disabled.c
---- linux-2.4.24/grsecurity/grsec_disabled.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/grsec_disabled.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/grsec_disabled.c linux-2.4.24-vs1.24-grsec/grsecurity/grsec_disabled.c
+--- linux-2.4.24-vs1.24/grsecurity/grsec_disabled.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/grsec_disabled.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,364 @@
 +/* 
 + * when grsecurity is disabled, compile all external functions into nothing
@@ -11914,9 +11914,9 @@
 +{
 +	return;
 +}
-diff -urN linux-2.4.24/grsecurity/grsec_exec.c linux-2.4.24/grsecurity/grsec_exec.c
---- linux-2.4.24/grsecurity/grsec_exec.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/grsec_exec.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/grsec_exec.c linux-2.4.24-vs1.24-grsec/grsecurity/grsec_exec.c
+--- linux-2.4.24-vs1.24/grsecurity/grsec_exec.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/grsec_exec.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,70 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
@@ -11988,9 +11988,9 @@
 +#endif
 +	return;
 +}
-diff -urN linux-2.4.24/grsecurity/grsec_fifo.c linux-2.4.24/grsecurity/grsec_fifo.c
---- linux-2.4.24/grsecurity/grsec_fifo.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/grsec_fifo.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/grsec_fifo.c linux-2.4.24-vs1.24-grsec/grsecurity/grsec_fifo.c
+--- linux-2.4.24-vs1.24/grsecurity/grsec_fifo.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/grsec_fifo.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,24 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
@@ -12016,9 +12016,9 @@
 +#endif
 +	return 0;
 +}
-diff -urN linux-2.4.24/grsecurity/grsec_fork.c linux-2.4.24/grsecurity/grsec_fork.c
---- linux-2.4.24/grsecurity/grsec_fork.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/grsec_fork.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/grsec_fork.c linux-2.4.24-vs1.24-grsec/grsecurity/grsec_fork.c
+--- linux-2.4.24-vs1.24/grsecurity/grsec_fork.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/grsec_fork.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,14 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
@@ -12034,9 +12034,9 @@
 +#endif
 +	return;
 +}
-diff -urN linux-2.4.24/grsecurity/grsec_init.c linux-2.4.24/grsecurity/grsec_init.c
---- linux-2.4.24/grsecurity/grsec_init.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/grsec_init.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/grsec_init.c linux-2.4.24-vs1.24-grsec/grsecurity/grsec_init.c
+--- linux-2.4.24-vs1.24/grsecurity/grsec_init.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/grsec_init.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,204 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
@@ -12242,9 +12242,9 @@
 +
 +	return;
 +}
-diff -urN linux-2.4.24/grsecurity/grsec_ipc.c linux-2.4.24/grsecurity/grsec_ipc.c
---- linux-2.4.24/grsecurity/grsec_ipc.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/grsec_ipc.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/grsec_ipc.c linux-2.4.24-vs1.24-grsec/grsecurity/grsec_ipc.c
+--- linux-2.4.24-vs1.24/grsecurity/grsec_ipc.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/grsec_ipc.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,81 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
@@ -12327,9 +12327,9 @@
 +#endif
 +	return;
 +}
-diff -urN linux-2.4.24/grsecurity/grsec_link.c linux-2.4.24/grsecurity/grsec_link.c
---- linux-2.4.24/grsecurity/grsec_link.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/grsec_link.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/grsec_link.c linux-2.4.24-vs1.24-grsec/grsecurity/grsec_link.c
+--- linux-2.4.24-vs1.24/grsecurity/grsec_link.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/grsec_link.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,42 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
@@ -12373,9 +12373,9 @@
 +#endif
 +	return 0;
 +}
-diff -urN linux-2.4.24/grsecurity/grsec_mem.c linux-2.4.24/grsecurity/grsec_mem.c
---- linux-2.4.24/grsecurity/grsec_mem.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/grsec_mem.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/grsec_mem.c linux-2.4.24-vs1.24-grsec/grsecurity/grsec_mem.c
+--- linux-2.4.24-vs1.24/grsecurity/grsec_mem.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/grsec_mem.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,54 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
@@ -12431,9 +12431,9 @@
 +
 +	return 0;
 +}
-diff -urN linux-2.4.24/grsecurity/grsec_mount.c linux-2.4.24/grsecurity/grsec_mount.c
---- linux-2.4.24/grsecurity/grsec_mount.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/grsec_mount.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/grsec_mount.c linux-2.4.24-vs1.24-grsec/grsecurity/grsec_mount.c
+--- linux-2.4.24-vs1.24/grsecurity/grsec_mount.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/grsec_mount.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,34 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
@@ -12469,9 +12469,9 @@
 +#endif
 +	return;
 +}
-diff -urN linux-2.4.24/grsecurity/grsec_rand.c linux-2.4.24/grsecurity/grsec_rand.c
---- linux-2.4.24/grsecurity/grsec_rand.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/grsec_rand.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/grsec_rand.c linux-2.4.24-vs1.24-grsec/grsecurity/grsec_rand.c
+--- linux-2.4.24-vs1.24/grsecurity/grsec_rand.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/grsec_rand.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,36 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
@@ -12509,9 +12509,9 @@
 +#endif
 +	return 0;
 +}
-diff -urN linux-2.4.24/grsecurity/grsec_sig.c linux-2.4.24/grsecurity/grsec_sig.c
---- linux-2.4.24/grsecurity/grsec_sig.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/grsec_sig.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/grsec_sig.c linux-2.4.24-vs1.24-grsec/grsecurity/grsec_sig.c
+--- linux-2.4.24-vs1.24/grsecurity/grsec_sig.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/grsec_sig.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,40 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
@@ -12553,9 +12553,9 @@
 +#endif
 +	return 0;
 +}
-diff -urN linux-2.4.24/grsecurity/grsec_sock.c linux-2.4.24/grsecurity/grsec_sock.c
---- linux-2.4.24/grsecurity/grsec_sock.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/grsec_sock.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/grsec_sock.c linux-2.4.24-vs1.24-grsec/grsecurity/grsec_sock.c
+--- linux-2.4.24-vs1.24/grsecurity/grsec_sock.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/grsec_sock.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,102 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
@@ -12659,9 +12659,9 @@
 +	return current->cap_effective;
 +#endif
 +}
-diff -urN linux-2.4.24/grsecurity/grsec_sysctl.c linux-2.4.24/grsecurity/grsec_sysctl.c
---- linux-2.4.24/grsecurity/grsec_sysctl.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/grsec_sysctl.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/grsec_sysctl.c linux-2.4.24-vs1.24-grsec/grsecurity/grsec_sysctl.c
+--- linux-2.4.24-vs1.24/grsecurity/grsec_sysctl.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/grsec_sysctl.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,17 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
@@ -12680,9 +12680,9 @@
 +#endif
 +	return 0;
 +}
-diff -urN linux-2.4.24/grsecurity/grsec_time.c linux-2.4.24/grsecurity/grsec_time.c
---- linux-2.4.24/grsecurity/grsec_time.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/grsec_time.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/grsec_time.c linux-2.4.24-vs1.24-grsec/grsecurity/grsec_time.c
+--- linux-2.4.24-vs1.24/grsecurity/grsec_time.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/grsec_time.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,13 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
@@ -12697,9 +12697,9 @@
 +#endif
 +	return;
 +}
-diff -urN linux-2.4.24/grsecurity/grsec_tpe.c linux-2.4.24/grsecurity/grsec_tpe.c
---- linux-2.4.24/grsecurity/grsec_tpe.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/grsec_tpe.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/grsec_tpe.c linux-2.4.24-vs1.24-grsec/grsecurity/grsec_tpe.c
+--- linux-2.4.24-vs1.24/grsecurity/grsec_tpe.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/grsec_tpe.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,33 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
@@ -12734,9 +12734,9 @@
 +#endif
 +	return 1;
 +}
-diff -urN linux-2.4.24/grsecurity/grsum.c linux-2.4.24/grsecurity/grsum.c
---- linux-2.4.24/grsecurity/grsum.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/grsum.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/grsum.c linux-2.4.24-vs1.24-grsec/grsecurity/grsum.c
+--- linux-2.4.24-vs1.24/grsecurity/grsum.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/grsum.c	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,59 @@
 +#include <linux/kernel.h>
 +#include <linux/sched.h>
@@ -12797,9 +12797,9 @@
 +	return retval;
 +}
 +
-diff -urN linux-2.4.24/grsecurity/obsd_rand.c linux-2.4.24/grsecurity/obsd_rand.c
---- linux-2.4.24/grsecurity/obsd_rand.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/grsecurity/obsd_rand.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/grsecurity/obsd_rand.c linux-2.4.24-vs1.24-grsec/grsecurity/obsd_rand.c
+--- linux-2.4.24-vs1.24/grsecurity/obsd_rand.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/grsecurity/obsd_rand.c	2004-01-20 17:11:39.000000000 -0600
 @@ -0,0 +1,185 @@
 +
 +/*
@@ -12986,9 +12986,9 @@
 +	return (((tcp_rndiss_encrypt(tcp_rndiss_cnt++) |
 +		  tcp_rndiss_msb) << 16) | (get_random_long() & 0x7fff));
 +}
-diff -urN linux-2.4.24/include/asm-alpha/a.out.h linux-2.4.24/include/asm-alpha/a.out.h
---- linux-2.4.24/include/asm-alpha/a.out.h	2002-08-02 20:39:45.000000000 -0400
-+++ linux-2.4.24/include/asm-alpha/a.out.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-alpha/a.out.h linux-2.4.24-vs1.24-grsec/include/asm-alpha/a.out.h
+--- linux-2.4.24-vs1.24/include/asm-alpha/a.out.h	2002-08-02 19:39:45.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/include/asm-alpha/a.out.h	2004-01-20 16:58:24.000000000 -0600
 @@ -98,7 +98,7 @@
  	set_personality (((BFPM->sh_bang || EX.ah.entry < 0x100000000 \
  			   ? ADDR_LIMIT_32BIT : 0) | PER_OSF4))
@@ -12998,9 +12998,9 @@
    (current->personality & ADDR_LIMIT_32BIT ? 0x80000000 : 0x00120000000UL)
  
  #endif
-diff -urN linux-2.4.24/include/asm-alpha/elf.h linux-2.4.24/include/asm-alpha/elf.h
---- linux-2.4.24/include/asm-alpha/elf.h	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/include/asm-alpha/elf.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-alpha/elf.h linux-2.4.24-vs1.24-grsec/include/asm-alpha/elf.h
+--- linux-2.4.24-vs1.24/include/asm-alpha/elf.h	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/asm-alpha/elf.h	2004-01-20 16:58:24.000000000 -0600
 @@ -41,6 +41,18 @@
  
  #define ELF_ET_DYN_BASE		(TASK_UNMAPPED_BASE + 0x1000000)
@@ -13020,9 +13020,9 @@
  /* $0 is set by ld.so to a pointer to a function which might be 
     registered using atexit.  This provides a mean for the dynamic
     linker to call DT_FINI functions for shared libraries that have
-diff -urN linux-2.4.24/include/asm-alpha/mman.h linux-2.4.24/include/asm-alpha/mman.h
---- linux-2.4.24/include/asm-alpha/mman.h	2000-03-16 17:07:09.000000000 -0500
-+++ linux-2.4.24/include/asm-alpha/mman.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-alpha/mman.h linux-2.4.24-vs1.24-grsec/include/asm-alpha/mman.h
+--- linux-2.4.24-vs1.24/include/asm-alpha/mman.h	2000-03-16 16:07:09.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/asm-alpha/mman.h	2004-01-20 16:58:24.000000000 -0600
 @@ -24,6 +24,10 @@
  #define MAP_LOCKED	0x8000		/* lock the mapping */
  #define MAP_NORESERVE	0x10000		/* don't check for reservations */
@@ -13034,9 +13034,9 @@
  #define MS_ASYNC	1		/* sync memory asynchronously */
  #define MS_SYNC		2		/* synchronous memory sync */
  #define MS_INVALIDATE	4		/* invalidate the caches */
-diff -urN linux-2.4.24/include/asm-alpha/pgtable.h linux-2.4.24/include/asm-alpha/pgtable.h
---- linux-2.4.24/include/asm-alpha/pgtable.h	2002-08-02 20:39:45.000000000 -0400
-+++ linux-2.4.24/include/asm-alpha/pgtable.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-alpha/pgtable.h linux-2.4.24-vs1.24-grsec/include/asm-alpha/pgtable.h
+--- linux-2.4.24-vs1.24/include/asm-alpha/pgtable.h	2002-08-02 19:39:45.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/include/asm-alpha/pgtable.h	2004-01-20 16:58:24.000000000 -0600
 @@ -96,6 +96,17 @@
  #define PAGE_SHARED	__pgprot(_PAGE_VALID | __ACCESS_BITS)
  #define PAGE_COPY	__pgprot(_PAGE_VALID | __ACCESS_BITS | _PAGE_FOW)
@@ -13055,9 +13055,9 @@
  #define PAGE_KERNEL	__pgprot(_PAGE_VALID | _PAGE_ASM | _PAGE_KRE | _PAGE_KWE)
  
  #define _PAGE_NORMAL(x) __pgprot(_PAGE_VALID | __ACCESS_BITS | (x))
-diff -urN linux-2.4.24/include/asm-i386/a.out.h linux-2.4.24/include/asm-i386/a.out.h
---- linux-2.4.24/include/asm-i386/a.out.h	1995-06-16 14:33:06.000000000 -0400
-+++ linux-2.4.24/include/asm-i386/a.out.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-i386/a.out.h linux-2.4.24-vs1.24-grsec/include/asm-i386/a.out.h
+--- linux-2.4.24-vs1.24/include/asm-i386/a.out.h	1995-06-16 13:33:06.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/include/asm-i386/a.out.h	2004-01-20 16:58:24.000000000 -0600
 @@ -19,7 +19,11 @@
  
  #ifdef __KERNEL__
@@ -13071,9 +13071,9 @@
  
  #endif
  
-diff -urN linux-2.4.24/include/asm-i386/desc.h linux-2.4.24/include/asm-i386/desc.h
---- linux-2.4.24/include/asm-i386/desc.h	2001-07-26 16:40:32.000000000 -0400
-+++ linux-2.4.24/include/asm-i386/desc.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-i386/desc.h linux-2.4.24-vs1.24-grsec/include/asm-i386/desc.h
+--- linux-2.4.24-vs1.24/include/asm-i386/desc.h	2001-07-26 15:40:32.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/include/asm-i386/desc.h	2004-01-20 16:58:24.000000000 -0600
 @@ -46,7 +46,8 @@
  };
  
@@ -13138,9 +13138,9 @@
  #endif /* !__ASSEMBLY__ */
  
  #endif
-diff -urN linux-2.4.24/include/asm-i386/elf.h linux-2.4.24/include/asm-i386/elf.h
---- linux-2.4.24/include/asm-i386/elf.h	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/include/asm-i386/elf.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-i386/elf.h linux-2.4.24-vs1.24-grsec/include/asm-i386/elf.h
+--- linux-2.4.24-vs1.24/include/asm-i386/elf.h	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/asm-i386/elf.h	2004-01-20 16:58:24.000000000 -0600
 @@ -55,7 +55,22 @@
     the loader.  We need to make sure that it is out of the way of the program
     that it will "exec", and that there is sufficient room for the brk.  */
@@ -13164,9 +13164,9 @@
  
  /* Wow, the "main" arch needs arch dependent functions too.. :) */
  
-diff -urN linux-2.4.24/include/asm-i386/hw_irq.h linux-2.4.24/include/asm-i386/hw_irq.h
---- linux-2.4.24/include/asm-i386/hw_irq.h	2003-08-25 07:44:43.000000000 -0400
-+++ linux-2.4.24/include/asm-i386/hw_irq.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-i386/hw_irq.h linux-2.4.24-vs1.24-grsec/include/asm-i386/hw_irq.h
+--- linux-2.4.24-vs1.24/include/asm-i386/hw_irq.h	2003-08-25 06:44:43.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/include/asm-i386/hw_irq.h	2004-01-20 16:58:24.000000000 -0600
 @@ -128,6 +128,7 @@
  asmlinkage void x(void); \
  asmlinkage void call_##x(void); \
@@ -13199,9 +13199,9 @@
  "\n"__ALIGN_STR"\n" \
  SYMBOL_NAME_STR(IRQ) #nr "_interrupt:\n\t" \
  	"pushl $"#nr"-256\n\t" \
-diff -urN linux-2.4.24/include/asm-i386/mman.h linux-2.4.24/include/asm-i386/mman.h
---- linux-2.4.24/include/asm-i386/mman.h	2000-03-14 20:45:20.000000000 -0500
-+++ linux-2.4.24/include/asm-i386/mman.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-i386/mman.h linux-2.4.24-vs1.24-grsec/include/asm-i386/mman.h
+--- linux-2.4.24-vs1.24/include/asm-i386/mman.h	2000-03-14 19:45:20.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/asm-i386/mman.h	2004-01-20 16:58:24.000000000 -0600
 @@ -18,6 +18,10 @@
  #define MAP_LOCKED	0x2000		/* pages are locked */
  #define MAP_NORESERVE	0x4000		/* don't check for reservations */
@@ -13213,9 +13213,9 @@
  #define MS_ASYNC	1		/* sync memory asynchronously */
  #define MS_INVALIDATE	2		/* invalidate the caches */
  #define MS_SYNC		4		/* synchronous memory sync */
-diff -urN linux-2.4.24/include/asm-i386/page.h linux-2.4.24/include/asm-i386/page.h
---- linux-2.4.24/include/asm-i386/page.h	2002-08-02 20:39:45.000000000 -0400
-+++ linux-2.4.24/include/asm-i386/page.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-i386/page.h linux-2.4.24-vs1.24-grsec/include/asm-i386/page.h
+--- linux-2.4.24-vs1.24/include/asm-i386/page.h	2002-08-02 19:39:45.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/include/asm-i386/page.h	2004-01-20 17:11:39.000000000 -0600
 @@ -78,6 +78,7 @@
   * and CONFIG_HIGHMEM64G options in the kernel configuration.
   */
@@ -13224,9 +13224,9 @@
  #define __PAGE_OFFSET		(0xC0000000)
  
  /*
-diff -urN linux-2.4.24/include/asm-i386/pgtable.h linux-2.4.24/include/asm-i386/pgtable.h
---- linux-2.4.24/include/asm-i386/pgtable.h	2002-11-28 18:53:15.000000000 -0500
-+++ linux-2.4.24/include/asm-i386/pgtable.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-i386/pgtable.h linux-2.4.24-vs1.24-grsec/include/asm-i386/pgtable.h
+--- linux-2.4.24-vs1.24/include/asm-i386/pgtable.h	2002-11-28 17:53:15.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/asm-i386/pgtable.h	2004-01-20 16:58:24.000000000 -0600
 @@ -205,6 +205,16 @@
  #define PAGE_COPY	__pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_ACCESSED)
  #define PAGE_READONLY	__pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_ACCESSED)
@@ -13278,9 +13278,9 @@
  
  #define __pgd_offset(address) pgd_index(address)
  
-diff -urN linux-2.4.24/include/asm-i386/processor.h linux-2.4.24/include/asm-i386/processor.h
---- linux-2.4.24/include/asm-i386/processor.h	2003-08-25 07:44:43.000000000 -0400
-+++ linux-2.4.24/include/asm-i386/processor.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-i386/processor.h linux-2.4.24-vs1.24-grsec/include/asm-i386/processor.h
+--- linux-2.4.24-vs1.24/include/asm-i386/processor.h	2003-08-25 06:44:43.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/include/asm-i386/processor.h	2004-01-20 16:58:24.000000000 -0600
 @@ -261,10 +261,19 @@
   */
  #define TASK_SIZE	(PAGE_OFFSET)
@@ -13301,9 +13301,9 @@
  
  /*
   * Size of io_bitmap in longwords: 32 is ports 0-0x3ff.
-diff -urN linux-2.4.24/include/asm-i386/system.h linux-2.4.24/include/asm-i386/system.h
---- linux-2.4.24/include/asm-i386/system.h	2003-08-25 07:44:43.000000000 -0400
-+++ linux-2.4.24/include/asm-i386/system.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-i386/system.h linux-2.4.24-vs1.24-grsec/include/asm-i386/system.h
+--- linux-2.4.24-vs1.24/include/asm-i386/system.h	2003-08-25 06:44:43.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/include/asm-i386/system.h	2004-01-20 16:58:24.000000000 -0600
 @@ -12,6 +12,8 @@
  struct task_struct;	/* one of the stranger aspects of C forward declarations.. */
  extern void FASTCALL(__switch_to(struct task_struct *prev, struct task_struct *next));
@@ -13313,9 +13313,9 @@
  #define prepare_to_switch()	do { } while(0)
  #define switch_to(prev,next,last) do {					\
  	asm volatile("pushl %%esi\n\t"					\
-diff -urN linux-2.4.24/include/asm-parisc/a.out.h linux-2.4.24/include/asm-parisc/a.out.h
---- linux-2.4.24/include/asm-parisc/a.out.h	2000-12-05 15:29:39.000000000 -0500
-+++ linux-2.4.24/include/asm-parisc/a.out.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-parisc/a.out.h linux-2.4.24-vs1.24-grsec/include/asm-parisc/a.out.h
+--- linux-2.4.24-vs1.24/include/asm-parisc/a.out.h	2000-12-05 14:29:39.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/asm-parisc/a.out.h	2004-01-20 16:58:24.000000000 -0600
 @@ -22,7 +22,7 @@
  /* XXX: STACK_TOP actually should be STACK_BOTTOM for parisc.
   * prumpf */
@@ -13325,9 +13325,9 @@
  
  #endif
  
-diff -urN linux-2.4.24/include/asm-parisc/elf.h linux-2.4.24/include/asm-parisc/elf.h
---- linux-2.4.24/include/asm-parisc/elf.h	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/include/asm-parisc/elf.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-parisc/elf.h linux-2.4.24-vs1.24-grsec/include/asm-parisc/elf.h
+--- linux-2.4.24-vs1.24/include/asm-parisc/elf.h	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/asm-parisc/elf.h	2004-01-20 16:58:24.000000000 -0600
 @@ -135,6 +135,17 @@
  
  #define ELF_ET_DYN_BASE         (TASK_UNMAPPED_BASE + 0x01000000)
@@ -13346,9 +13346,9 @@
  /* This yields a mask that user programs can use to figure out what
     instruction set this CPU supports.  This could be done in user space,
     but it's not easy, and we've already done it here.  */
-diff -urN linux-2.4.24/include/asm-parisc/mman.h linux-2.4.24/include/asm-parisc/mman.h
---- linux-2.4.24/include/asm-parisc/mman.h	2000-12-05 15:29:39.000000000 -0500
-+++ linux-2.4.24/include/asm-parisc/mman.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-parisc/mman.h linux-2.4.24-vs1.24-grsec/include/asm-parisc/mman.h
+--- linux-2.4.24-vs1.24/include/asm-parisc/mman.h	2000-12-05 14:29:39.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/asm-parisc/mman.h	2004-01-20 16:58:24.000000000 -0600
 @@ -18,6 +18,10 @@
  #define MAP_NORESERVE	0x4000		/* don't check for reservations */
  #define MAP_GROWSDOWN	0x8000		/* stack-like segment */
@@ -13360,9 +13360,9 @@
  #define MS_SYNC		1		/* synchronous memory sync */
  #define MS_ASYNC	2		/* sync memory asynchronously */
  #define MS_INVALIDATE	4		/* invalidate the caches */
-diff -urN linux-2.4.24/include/asm-parisc/pgtable.h linux-2.4.24/include/asm-parisc/pgtable.h
---- linux-2.4.24/include/asm-parisc/pgtable.h	2003-06-13 10:51:38.000000000 -0400
-+++ linux-2.4.24/include/asm-parisc/pgtable.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-parisc/pgtable.h linux-2.4.24-vs1.24-grsec/include/asm-parisc/pgtable.h
+--- linux-2.4.24-vs1.24/include/asm-parisc/pgtable.h	2003-06-13 09:51:38.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/include/asm-parisc/pgtable.h	2004-01-20 16:58:24.000000000 -0600
 @@ -167,6 +167,17 @@
  #define PAGE_EXECREAD   __pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_READ | _PAGE_EXEC |_PAGE_ACCESSED)
  #define PAGE_COPY       PAGE_EXECREAD
@@ -13381,9 +13381,9 @@
  #define PAGE_KERNEL	__pgprot(_PAGE_KERNEL)
  #define PAGE_KERNEL_RO	__pgprot(_PAGE_PRESENT | _PAGE_EXEC | _PAGE_READ | _PAGE_DIRTY | _PAGE_ACCESSED)
  #define PAGE_KERNEL_UNC	__pgprot(_PAGE_KERNEL | _PAGE_NO_CACHE)
-diff -urN linux-2.4.24/include/asm-ppc/a.out.h linux-2.4.24/include/asm-ppc/a.out.h
---- linux-2.4.24/include/asm-ppc/a.out.h	2003-08-25 07:44:44.000000000 -0400
-+++ linux-2.4.24/include/asm-ppc/a.out.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-ppc/a.out.h linux-2.4.24-vs1.24-grsec/include/asm-ppc/a.out.h
+--- linux-2.4.24-vs1.24/include/asm-ppc/a.out.h	2003-08-25 06:44:44.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/include/asm-ppc/a.out.h	2004-01-20 16:58:24.000000000 -0600
 @@ -2,7 +2,7 @@
  #define __PPC_A_OUT_H__
  
@@ -13393,9 +13393,9 @@
  
  
  struct exec
-diff -urN linux-2.4.24/include/asm-ppc/elf.h linux-2.4.24/include/asm-ppc/elf.h
---- linux-2.4.24/include/asm-ppc/elf.h	2003-06-13 10:51:38.000000000 -0400
-+++ linux-2.4.24/include/asm-ppc/elf.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-ppc/elf.h linux-2.4.24-vs1.24-grsec/include/asm-ppc/elf.h
+--- linux-2.4.24-vs1.24/include/asm-ppc/elf.h	2003-06-13 09:51:38.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/include/asm-ppc/elf.h	2004-01-20 16:58:24.000000000 -0600
 @@ -46,6 +46,17 @@
  
  #define ELF_ET_DYN_BASE         (0x08000000)
@@ -13414,9 +13414,9 @@
  #define USE_ELF_CORE_DUMP
  #define ELF_EXEC_PAGESIZE	4096
  
-diff -urN linux-2.4.24/include/asm-ppc/mman.h linux-2.4.24/include/asm-ppc/mman.h
---- linux-2.4.24/include/asm-ppc/mman.h	2003-06-13 10:51:38.000000000 -0400
-+++ linux-2.4.24/include/asm-ppc/mman.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-ppc/mman.h linux-2.4.24-vs1.24-grsec/include/asm-ppc/mman.h
+--- linux-2.4.24-vs1.24/include/asm-ppc/mman.h	2003-06-13 09:51:38.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/include/asm-ppc/mman.h	2004-01-20 16:58:24.000000000 -0600
 @@ -19,6 +19,10 @@
  #define MAP_DENYWRITE	0x0800		/* ETXTBSY */
  #define MAP_EXECUTABLE	0x1000		/* mark it as an executable */
@@ -13428,9 +13428,9 @@
  #define MS_ASYNC	1		/* sync memory asynchronously */
  #define MS_INVALIDATE	2		/* invalidate the caches */
  #define MS_SYNC		4		/* synchronous memory sync */
-diff -urN linux-2.4.24/include/asm-ppc/pgtable.h linux-2.4.24/include/asm-ppc/pgtable.h
---- linux-2.4.24/include/asm-ppc/pgtable.h	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/include/asm-ppc/pgtable.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-ppc/pgtable.h linux-2.4.24-vs1.24-grsec/include/asm-ppc/pgtable.h
+--- linux-2.4.24-vs1.24/include/asm-ppc/pgtable.h	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/asm-ppc/pgtable.h	2004-01-20 16:58:24.000000000 -0600
 @@ -386,6 +386,16 @@
  #define PAGE_COPY	__pgprot(_PAGE_BASE | _PAGE_USER)
  #define PAGE_COPY_X	__pgprot(_PAGE_BASE | _PAGE_USER | _PAGE_EXEC)
@@ -13480,9 +13480,9 @@
  #define __S111	PAGE_SHARED_X
  
  #ifndef __ASSEMBLY__
-diff -urN linux-2.4.24/include/asm-sparc/a.out.h linux-2.4.24/include/asm-sparc/a.out.h
---- linux-2.4.24/include/asm-sparc/a.out.h	2000-01-13 15:03:00.000000000 -0500
-+++ linux-2.4.24/include/asm-sparc/a.out.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-sparc/a.out.h linux-2.4.24-vs1.24-grsec/include/asm-sparc/a.out.h
+--- linux-2.4.24-vs1.24/include/asm-sparc/a.out.h	2000-01-13 14:03:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/asm-sparc/a.out.h	2004-01-20 16:58:24.000000000 -0600
 @@ -91,7 +91,7 @@
  
  #include <asm/page.h>
@@ -13492,9 +13492,9 @@
  
  #endif /* __KERNEL__ */
  
-diff -urN linux-2.4.24/include/asm-sparc/elf.h linux-2.4.24/include/asm-sparc/elf.h
---- linux-2.4.24/include/asm-sparc/elf.h	2000-07-11 22:02:37.000000000 -0400
-+++ linux-2.4.24/include/asm-sparc/elf.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-sparc/elf.h linux-2.4.24-vs1.24-grsec/include/asm-sparc/elf.h
+--- linux-2.4.24-vs1.24/include/asm-sparc/elf.h	2000-07-11 21:02:37.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/include/asm-sparc/elf.h	2004-01-20 16:58:24.000000000 -0600
 @@ -83,6 +83,18 @@
  
  #define ELF_ET_DYN_BASE         (0x08000000)
@@ -13514,9 +13514,9 @@
  /* This yields a mask that user programs can use to figure out what
     instruction set this cpu supports.  This can NOT be done in userspace
     on Sparc.  */
-diff -urN linux-2.4.24/include/asm-sparc/mman.h linux-2.4.24/include/asm-sparc/mman.h
---- linux-2.4.24/include/asm-sparc/mman.h	2003-06-13 10:51:38.000000000 -0400
-+++ linux-2.4.24/include/asm-sparc/mman.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-sparc/mman.h linux-2.4.24-vs1.24-grsec/include/asm-sparc/mman.h
+--- linux-2.4.24-vs1.24/include/asm-sparc/mman.h	2003-06-13 09:51:38.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/include/asm-sparc/mman.h	2004-01-20 16:58:24.000000000 -0600
 @@ -24,6 +24,10 @@
  #define MAP_DENYWRITE	0x0800		/* ETXTBSY */
  #define MAP_EXECUTABLE	0x1000		/* mark it as an executable */
@@ -13528,9 +13528,9 @@
  #define MS_ASYNC	1		/* sync memory asynchronously */
  #define MS_INVALIDATE	2		/* invalidate the caches */
  #define MS_SYNC		4		/* synchronous memory sync */
-diff -urN linux-2.4.24/include/asm-sparc/pgtable.h linux-2.4.24/include/asm-sparc/pgtable.h
---- linux-2.4.24/include/asm-sparc/pgtable.h	2002-08-02 20:39:45.000000000 -0400
-+++ linux-2.4.24/include/asm-sparc/pgtable.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-sparc/pgtable.h linux-2.4.24-vs1.24-grsec/include/asm-sparc/pgtable.h
+--- linux-2.4.24-vs1.24/include/asm-sparc/pgtable.h	2002-08-02 19:39:45.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/include/asm-sparc/pgtable.h	2004-01-20 16:58:24.000000000 -0600
 @@ -97,6 +97,13 @@
  BTFIXUPDEF_INT(page_shared)
  BTFIXUPDEF_INT(page_copy)
@@ -13562,9 +13562,9 @@
  extern unsigned long page_kernel;
  
  #ifdef MODULE
-diff -urN linux-2.4.24/include/asm-sparc/pgtsrmmu.h linux-2.4.24/include/asm-sparc/pgtsrmmu.h
---- linux-2.4.24/include/asm-sparc/pgtsrmmu.h	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/include/asm-sparc/pgtsrmmu.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-sparc/pgtsrmmu.h linux-2.4.24-vs1.24-grsec/include/asm-sparc/pgtsrmmu.h
+--- linux-2.4.24-vs1.24/include/asm-sparc/pgtsrmmu.h	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/asm-sparc/pgtsrmmu.h	2004-01-20 16:58:24.000000000 -0600
 @@ -76,6 +76,15 @@
  				    SRMMU_EXEC | SRMMU_REF)
  #define SRMMU_PAGE_RDONLY  __pgprot(SRMMU_VALID | SRMMU_CACHE | \
@@ -13581,9 +13581,9 @@
  #define SRMMU_PAGE_KERNEL  __pgprot(SRMMU_VALID | SRMMU_CACHE | SRMMU_PRIV | \
  				    SRMMU_DIRTY | SRMMU_REF)
  
-diff -urN linux-2.4.24/include/asm-sparc/uaccess.h linux-2.4.24/include/asm-sparc/uaccess.h
---- linux-2.4.24/include/asm-sparc/uaccess.h	2003-06-13 10:51:38.000000000 -0400
-+++ linux-2.4.24/include/asm-sparc/uaccess.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-sparc/uaccess.h linux-2.4.24-vs1.24-grsec/include/asm-sparc/uaccess.h
+--- linux-2.4.24-vs1.24/include/asm-sparc/uaccess.h	2003-06-13 09:51:38.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/include/asm-sparc/uaccess.h	2004-01-20 16:58:24.000000000 -0600
 @@ -39,7 +39,7 @@
   * No one can read/write anything from userland in the kernel space by setting
   * large size and address near to PAGE_OFFSET - a fault will break his intentions.
@@ -13593,9 +13593,9 @@
  #define __kernel_ok (segment_eq(get_fs(), KERNEL_DS))
  #define __access_ok(addr,size) (__user_ok((addr) & get_fs().seg,(size)))
  #define access_ok(type,addr,size) __access_ok((unsigned long)(addr),(size))
-diff -urN linux-2.4.24/include/asm-sparc64/a.out.h linux-2.4.24/include/asm-sparc64/a.out.h
---- linux-2.4.24/include/asm-sparc64/a.out.h	2001-04-27 01:17:26.000000000 -0400
-+++ linux-2.4.24/include/asm-sparc64/a.out.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-sparc64/a.out.h linux-2.4.24-vs1.24-grsec/include/asm-sparc64/a.out.h
+--- linux-2.4.24-vs1.24/include/asm-sparc64/a.out.h	2001-04-27 00:17:26.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/include/asm-sparc64/a.out.h	2004-01-20 16:58:24.000000000 -0600
 @@ -95,7 +95,7 @@
  
  #ifdef __KERNEL__
@@ -13605,9 +13605,9 @@
  
  #endif
  
-diff -urN linux-2.4.24/include/asm-sparc64/elf.h linux-2.4.24/include/asm-sparc64/elf.h
---- linux-2.4.24/include/asm-sparc64/elf.h	2003-06-13 10:51:38.000000000 -0400
-+++ linux-2.4.24/include/asm-sparc64/elf.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-sparc64/elf.h linux-2.4.24-vs1.24-grsec/include/asm-sparc64/elf.h
+--- linux-2.4.24-vs1.24/include/asm-sparc64/elf.h	2003-06-13 09:51:38.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/include/asm-sparc64/elf.h	2004-01-20 16:58:24.000000000 -0600
 @@ -82,6 +82,17 @@
  #define ELF_ET_DYN_BASE         0x0000010000000000UL
  #endif
@@ -13626,9 +13626,9 @@
  
  /* This yields a mask that user programs can use to figure out what
     instruction set this cpu supports.  */
-diff -urN linux-2.4.24/include/asm-sparc64/mman.h linux-2.4.24/include/asm-sparc64/mman.h
---- linux-2.4.24/include/asm-sparc64/mman.h	2003-06-13 10:51:38.000000000 -0400
-+++ linux-2.4.24/include/asm-sparc64/mman.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-sparc64/mman.h linux-2.4.24-vs1.24-grsec/include/asm-sparc64/mman.h
+--- linux-2.4.24-vs1.24/include/asm-sparc64/mman.h	2003-06-13 09:51:38.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/include/asm-sparc64/mman.h	2004-01-20 16:58:24.000000000 -0600
 @@ -24,6 +24,10 @@
  #define MAP_DENYWRITE	0x0800		/* ETXTBSY */
  #define MAP_EXECUTABLE	0x1000		/* mark it as an executable */
@@ -13640,9 +13640,9 @@
  #define MS_ASYNC	1		/* sync memory asynchronously */
  #define MS_INVALIDATE	2		/* invalidate the caches */
  #define MS_SYNC		4		/* synchronous memory sync */
-diff -urN linux-2.4.24/include/asm-sparc64/pgtable.h linux-2.4.24/include/asm-sparc64/pgtable.h
---- linux-2.4.24/include/asm-sparc64/pgtable.h	2002-08-02 20:39:45.000000000 -0400
-+++ linux-2.4.24/include/asm-sparc64/pgtable.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/asm-sparc64/pgtable.h linux-2.4.24-vs1.24-grsec/include/asm-sparc64/pgtable.h
+--- linux-2.4.24-vs1.24/include/asm-sparc64/pgtable.h	2002-08-02 19:39:45.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/include/asm-sparc64/pgtable.h	2004-01-20 16:58:24.000000000 -0600
 @@ -122,7 +122,8 @@
  #define _PAGE_G		0x0000000000000001	/* Global                             */
  
@@ -13713,9 +13713,9 @@
  #define __S100	PAGE_READONLY
  #define __S101	PAGE_READONLY
  #define __S110	PAGE_SHARED
-diff -urN linux-2.4.24/include/linux/a.out.h linux-2.4.24/include/linux/a.out.h
---- linux-2.4.24/include/linux/a.out.h	2001-11-22 14:46:18.000000000 -0500
-+++ linux-2.4.24/include/linux/a.out.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/linux/a.out.h linux-2.4.24-vs1.24-grsec/include/linux/a.out.h
+--- linux-2.4.24-vs1.24/include/linux/a.out.h	2001-11-22 13:46:18.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/linux/a.out.h	2004-01-20 16:58:24.000000000 -0600
 @@ -7,6 +7,16 @@
  
  #include <asm/a.out.h>
@@ -13748,9 +13748,9 @@
  #if !defined (N_MAGIC)
  #define N_MAGIC(exec) ((exec).a_info & 0xffff)
  #endif
-diff -urN linux-2.4.24/include/linux/binfmts.h linux-2.4.24/include/linux/binfmts.h
---- linux-2.4.24/include/linux/binfmts.h	2001-11-22 14:46:19.000000000 -0500
-+++ linux-2.4.24/include/linux/binfmts.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/linux/binfmts.h linux-2.4.24-vs1.24-grsec/include/linux/binfmts.h
+--- linux-2.4.24-vs1.24/include/linux/binfmts.h	2001-11-22 13:46:19.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/linux/binfmts.h	2004-01-20 16:58:24.000000000 -0600
 @@ -59,6 +59,8 @@
  extern int do_coredump(long signr, struct pt_regs * regs);
  extern void set_binfmt(struct linux_binfmt *new);
@@ -13760,9 +13760,9 @@
  
  #if 0
  /* this went away now */
-diff -urN linux-2.4.24/include/linux/elf.h linux-2.4.24/include/linux/elf.h
---- linux-2.4.24/include/linux/elf.h	2002-11-28 18:53:15.000000000 -0500
-+++ linux-2.4.24/include/linux/elf.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/linux/elf.h linux-2.4.24-vs1.24-grsec/include/linux/elf.h
+--- linux-2.4.24-vs1.24/include/linux/elf.h	2002-11-28 17:53:15.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/linux/elf.h	2004-01-20 16:58:24.000000000 -0600
 @@ -33,6 +33,10 @@
  #define PT_HIPROC  0x7fffffff
  #define PT_MIPS_REGINFO		0x70000000
@@ -13822,10 +13822,10 @@
  
  #endif
  
-diff -urN linux-2.4.24/include/linux/fs.h linux-2.4.24/include/linux/fs.h
---- linux-2.4.24/include/linux/fs.h	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/include/linux/fs.h	2004-01-05 11:39:44.000000000 -0500
-@@ -1087,7 +1087,7 @@
+diff -urN linux-2.4.24-vs1.24/include/linux/fs.h linux-2.4.24-vs1.24-grsec/include/linux/fs.h
+--- linux-2.4.24-vs1.24/include/linux/fs.h	2004-01-20 16:58:01.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/linux/fs.h	2004-01-20 16:58:24.000000000 -0600
+@@ -1092,7 +1092,7 @@
  
  asmlinkage long sys_open(const char *, int, int);
  asmlinkage long sys_close(unsigned int);	/* yes, it's really unsigned */
@@ -13834,9 +13834,9 @@
  
  extern struct file *filp_open(const char *, int, int);
  extern struct file * dentry_open(struct dentry *, struct vfsmount *, int);
-diff -urN linux-2.4.24/include/linux/gracl.h linux-2.4.24/include/linux/gracl.h
---- linux-2.4.24/include/linux/gracl.h	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/include/linux/gracl.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/linux/gracl.h linux-2.4.24-vs1.24-grsec/include/linux/gracl.h
+--- linux-2.4.24-vs1.24/include/linux/gracl.h	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/linux/gracl.h	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,155 @@
 +#ifndef GR_ACL_H
 +#define GR_ACL_H
@@ -13993,9 +13993,9 @@
 +{
 +	return full_name_hash(name, strlen(name)) % sz;
 +}
-diff -urN linux-2.4.24/include/linux/gralloc.h linux-2.4.24/include/linux/gralloc.h
---- linux-2.4.24/include/linux/gralloc.h	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/include/linux/gralloc.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/linux/gralloc.h linux-2.4.24-vs1.24-grsec/include/linux/gralloc.h
+--- linux-2.4.24-vs1.24/include/linux/gralloc.h	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/linux/gralloc.h	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,8 @@
 +#ifndef __GRALLOC_H
 +#define __GRALLOC_H
@@ -14005,9 +14005,9 @@
 +void *acl_alloc(unsigned long len);
 +
 +#endif
-diff -urN linux-2.4.24/include/linux/grdefs.h linux-2.4.24/include/linux/grdefs.h
---- linux-2.4.24/include/linux/grdefs.h	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/include/linux/grdefs.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/linux/grdefs.h linux-2.4.24-vs1.24-grsec/include/linux/grdefs.h
+--- linux-2.4.24-vs1.24/include/linux/grdefs.h	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/linux/grdefs.h	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,83 @@
 +#ifndef GRDEFS_H
 +#define GRDEFS_H
@@ -14092,9 +14092,9 @@
 +};
 +
 +#endif
-diff -urN linux-2.4.24/include/linux/grinternal.h linux-2.4.24/include/linux/grinternal.h
---- linux-2.4.24/include/linux/grinternal.h	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/include/linux/grinternal.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/linux/grinternal.h linux-2.4.24-vs1.24-grsec/include/linux/grinternal.h
+--- linux-2.4.24-vs1.24/include/linux/grinternal.h	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/linux/grinternal.h	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,177 @@
 +#ifndef __GRINTERNAL_H
 +#define __GRINTERNAL_H
@@ -14273,9 +14273,9 @@
 +#endif
 +
 +#endif
-diff -urN linux-2.4.24/include/linux/grmsg.h linux-2.4.24/include/linux/grmsg.h
---- linux-2.4.24/include/linux/grmsg.h	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/include/linux/grmsg.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/linux/grmsg.h linux-2.4.24-vs1.24-grsec/include/linux/grmsg.h
+--- linux-2.4.24-vs1.24/include/linux/grmsg.h	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/linux/grmsg.h	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,99 @@
 +#define DEFAULTSECMSG "(%.16s:%d) UID(%d) EUID(%d), parent (%.16s:%d) UID(%d) EUID(%d)"
 +#define GR_ACL_PROCACCT_MSG "(%.16s:%d) IP:%u.%u.%u.%u TTY:%.64s UID(%d) EUID(%d) GID(%d) EGID(%d) run time:[%ud %uh %um %us] cpu time:[%ud %uh %um %us] %s with exit code %ld, parent (%.16s:%d) IP:%u.%u.%u.%u TTY:%.64s UID(%d) EUID(%d) GID(%d) EGID(%d)"
@@ -14376,9 +14376,9 @@
 +#define GR_SHM_AUDIT_MSG "shared memory of size %d created by " DEFAULTSECMSG
 +#define GR_SHMR_AUDIT_MSG "shared memory of uid:%d euid:%d removed by " DEFAULTSECMSG
 +#define GR_RESOURCE_MSG "attempted resource overstep by requesting %lu for %.16s against limit %lu by " DEFAULTSECMSG
-diff -urN linux-2.4.24/include/linux/grsecurity.h linux-2.4.24/include/linux/grsecurity.h
---- linux-2.4.24/include/linux/grsecurity.h	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/include/linux/grsecurity.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/linux/grsecurity.h linux-2.4.24-vs1.24-grsec/include/linux/grsecurity.h
+--- linux-2.4.24-vs1.24/include/linux/grsecurity.h	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/linux/grsecurity.h	2004-01-20 16:58:24.000000000 -0600
 @@ -0,0 +1,169 @@
 +#ifndef GR_SECURITY_H
 +#define GR_SECURITY_H
@@ -14549,9 +14549,9 @@
 +#endif
 +
 +#endif
-diff -urN linux-2.4.24/include/linux/kernel.h linux-2.4.24/include/linux/kernel.h
---- linux-2.4.24/include/linux/kernel.h	2002-11-28 18:53:15.000000000 -0500
-+++ linux-2.4.24/include/linux/kernel.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/linux/kernel.h linux-2.4.24-vs1.24-grsec/include/linux/kernel.h
+--- linux-2.4.24-vs1.24/include/linux/kernel.h	2002-11-28 17:53:15.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/linux/kernel.h	2004-01-20 16:58:24.000000000 -0600
 @@ -71,14 +71,17 @@
  extern long long simple_strtoll(const char *,char **,unsigned int);
  extern int sprintf(char * buf, const char * fmt, ...)
@@ -14573,9 +14573,9 @@
  
  extern int get_option(char **str, int *pint);
  extern char *get_options(char *str, int nints, int *ints);
-diff -urN linux-2.4.24/include/linux/mm.h linux-2.4.24/include/linux/mm.h
---- linux-2.4.24/include/linux/mm.h	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/include/linux/mm.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/linux/mm.h linux-2.4.24-vs1.24-grsec/include/linux/mm.h
+--- linux-2.4.24-vs1.24/include/linux/mm.h	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/linux/mm.h	2004-01-20 17:11:39.000000000 -0600
 @@ -22,9 +22,13 @@
  extern struct list_head active_list;
  extern struct list_head inactive_list;
@@ -14768,10 +14768,10 @@
  /* Look up the first VMA which intersects the interval start_addr..end_addr-1,
     NULL if none.  Assume start_addr < end_addr. */
  static inline struct vm_area_struct * find_vma_intersection(struct mm_struct * mm, unsigned long start_addr, unsigned long end_addr)
-diff -urN linux-2.4.24/include/linux/proc_fs.h linux-2.4.24/include/linux/proc_fs.h
---- linux-2.4.24/include/linux/proc_fs.h	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/include/linux/proc_fs.h	2004-01-05 11:39:44.000000000 -0500
-@@ -143,6 +143,9 @@
+diff -urN linux-2.4.24-vs1.24/include/linux/proc_fs.h linux-2.4.24-vs1.24-grsec/include/linux/proc_fs.h
+--- linux-2.4.24-vs1.24/include/linux/proc_fs.h	2004-01-20 16:58:01.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/linux/proc_fs.h	2004-01-20 16:58:24.000000000 -0600
+@@ -144,6 +144,9 @@
  extern struct proc_dir_entry *proc_mknod(const char *,mode_t,
  		struct proc_dir_entry *,kdev_t);
  extern struct proc_dir_entry *proc_mkdir(const char *,struct proc_dir_entry *);
@@ -14781,9 +14781,9 @@
  
  static inline struct proc_dir_entry *create_proc_read_entry(const char *name,
  	mode_t mode, struct proc_dir_entry *base, 
-diff -urN linux-2.4.24/include/linux/sched.h linux-2.4.24/include/linux/sched.h
---- linux-2.4.24/include/linux/sched.h	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/include/linux/sched.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/linux/sched.h linux-2.4.24-vs1.24-grsec/include/linux/sched.h
+--- linux-2.4.24-vs1.24/include/linux/sched.h	2004-01-20 16:58:01.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/linux/sched.h	2004-01-20 16:58:24.000000000 -0600
 @@ -27,6 +27,9 @@
  #include <linux/securebits.h>
  #include <linux/fs_struct.h>
@@ -14794,7 +14794,7 @@
  struct exec_domain;
  
  /*
-@@ -227,6 +230,20 @@
+@@ -228,6 +231,20 @@
  	unsigned long cpu_vm_mask;
  	unsigned long swap_address;
  
@@ -14815,8 +14815,8 @@
  	unsigned dumpable:1;
  
  	/* Architecture-specific MM context */
-@@ -406,7 +423,7 @@
- 	int (*notifier)(void *priv);
+@@ -417,7 +434,7 @@
+ 	struct iproot_info *ip_info;
  	void *notifier_data;
  	sigset_t *notifier_mask;
 -	
@@ -14824,7 +14824,7 @@
  /* Thread group tracking */
     	u32 parent_exec_id;
     	u32 self_exec_id;
-@@ -415,6 +432,21 @@
+@@ -426,6 +443,21 @@
  
  /* journalling filesystem info */
  	void *journal_info;
@@ -14846,7 +14846,7 @@
  };
  
  /*
-@@ -434,6 +466,21 @@
+@@ -445,6 +477,21 @@
  
  #define PF_USEDFPU	0x00100000	/* task used FPU this quantum (SMP) */
  
@@ -14868,7 +14868,7 @@
  /*
   * Ptrace flags
   */
-@@ -548,6 +595,8 @@
+@@ -560,6 +607,8 @@
  	*p->pidhash_pprev = p->pidhash_next;
  }
  
@@ -14877,7 +14877,7 @@
  static inline struct task_struct *find_task_by_pid(int pid)
  {
  	struct task_struct *p, **htable = &pidhash[pid_hashfn(pid)];
-@@ -555,6 +604,8 @@
+@@ -567,6 +616,8 @@
  	for(p = *htable; p && p->pid != pid; p = p->pidhash_next)
  		;
  
@@ -14886,7 +14886,7 @@
  	return p;
  }
  
-@@ -576,8 +627,6 @@
+@@ -588,8 +639,6 @@
  extern void free_uid(struct user_struct *);
  extern void switch_uid(struct user_struct *);
  
@@ -14895,7 +14895,7 @@
  extern unsigned long volatile jiffies;
  extern unsigned long itimer_ticks;
  extern unsigned long itimer_next;
-@@ -741,7 +790,7 @@
+@@ -753,7 +802,7 @@
  static inline int capable(int cap)
  {
  #if 1 /* ok now */
@@ -14904,20 +14904,20 @@
  #else
  	if (cap_is_fs_cap(cap) ? current->fsuid == 0 : current->euid == 0)
  #endif
-diff -urN linux-2.4.24/include/linux/sysctl.h linux-2.4.24/include/linux/sysctl.h
---- linux-2.4.24/include/linux/sysctl.h	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/include/linux/sysctl.h	2004-01-05 11:39:44.000000000 -0500
-@@ -128,6 +128,7 @@
- 	KERN_PPC_L3CR=57,       /* l3cr register on PPC */
+diff -urN linux-2.4.24-vs1.24/include/linux/sysctl.h linux-2.4.24-vs1.24-grsec/include/linux/sysctl.h
+--- linux-2.4.24-vs1.24/include/linux/sysctl.h	2004-01-20 16:58:01.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/linux/sysctl.h	2004-01-20 16:58:24.000000000 -0600
+@@ -129,6 +129,7 @@
  	KERN_EXCEPTION_TRACE=58, /* boolean: exception trace */
   	KERN_CORE_SETUID=59,	/* int: set to allow core dumps of setuid apps */
+ 	KERN_VSHELPER=60,	/* string: path to vshelper policy agent */
 +	KERN_GRSECURITY=68,	/* grsecurity */
  };
  
  
-diff -urN linux-2.4.24/include/net/inetpeer.h linux-2.4.24/include/net/inetpeer.h
---- linux-2.4.24/include/net/inetpeer.h	2002-02-25 14:38:13.000000000 -0500
-+++ linux-2.4.24/include/net/inetpeer.h	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/include/net/inetpeer.h linux-2.4.24-vs1.24-grsec/include/net/inetpeer.h
+--- linux-2.4.24-vs1.24/include/net/inetpeer.h	2002-02-25 13:38:13.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/net/inetpeer.h	2004-01-20 16:58:24.000000000 -0600
 @@ -13,6 +13,7 @@
  #include <linux/init.h>
  #include <linux/sched.h>
@@ -14954,10 +14954,10 @@
  	spin_unlock_bh(&inet_peer_idlock);
  	return id;
  }
-diff -urN linux-2.4.24/include/net/ip.h linux-2.4.24/include/net/ip.h
---- linux-2.4.24/include/net/ip.h	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/include/net/ip.h	2004-01-05 11:39:44.000000000 -0500
-@@ -64,6 +64,11 @@
+diff -urN linux-2.4.24-vs1.24/include/net/ip.h linux-2.4.24-vs1.24-grsec/include/net/ip.h
+--- linux-2.4.24-vs1.24/include/net/ip.h	2004-01-20 16:58:01.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/include/net/ip.h	2004-01-20 16:58:24.000000000 -0600
+@@ -65,6 +65,11 @@
  	void			(*destructor)(struct sock *);
  };
  
@@ -14969,7 +14969,7 @@
  extern struct ip_ra_chain *ip_ra_chain;
  extern rwlock_t ip_ra_lock;
  
-@@ -197,7 +202,13 @@
+@@ -198,7 +203,13 @@
  		 * does not change, they drop every other packet in
  		 * a TCP stream using header compression.
  		 */
@@ -14984,9 +14984,9 @@
  	} else
  		__ip_select_ident(iph, dst);
  }
-diff -urN linux-2.4.24/init/main.c linux-2.4.24/init/main.c
---- linux-2.4.24/init/main.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/init/main.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/init/main.c linux-2.4.24-vs1.24-grsec/init/main.c
+--- linux-2.4.24-vs1.24/init/main.c	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/init/main.c	2004-01-20 16:58:24.000000000 -0600
 @@ -28,6 +28,7 @@
  #include <linux/bootmem.h>
  #include <linux/file.h>
@@ -15012,9 +15012,9 @@
  
  	/*
  	 * Ok, we have completed the initial bootup, and
-diff -urN linux-2.4.24/ipc/msg.c linux-2.4.24/ipc/msg.c
---- linux-2.4.24/ipc/msg.c	2003-06-13 10:51:39.000000000 -0400
-+++ linux-2.4.24/ipc/msg.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/ipc/msg.c linux-2.4.24-vs1.24-grsec/ipc/msg.c
+--- linux-2.4.24-vs1.24/ipc/msg.c	2003-06-13 09:51:39.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/ipc/msg.c	2004-01-20 16:58:24.000000000 -0600
 @@ -22,6 +22,7 @@
  #include <linux/init.h>
  #include <linux/proc_fs.h>
@@ -15042,9 +15042,9 @@
  		freeque (msqid); 
  		break;
  	}
-diff -urN linux-2.4.24/ipc/sem.c linux-2.4.24/ipc/sem.c
---- linux-2.4.24/ipc/sem.c	2003-08-25 07:44:44.000000000 -0400
-+++ linux-2.4.24/ipc/sem.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/ipc/sem.c linux-2.4.24-vs1.24-grsec/ipc/sem.c
+--- linux-2.4.24-vs1.24/ipc/sem.c	2003-08-25 06:44:44.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/ipc/sem.c	2004-01-20 16:58:24.000000000 -0600
 @@ -63,6 +63,7 @@
  #include <linux/init.h>
  #include <linux/proc_fs.h>
@@ -15072,9 +15072,9 @@
  		freeary(semid);
  		err = 0;
  		break;
-diff -urN linux-2.4.24/ipc/shm.c linux-2.4.24/ipc/shm.c
---- linux-2.4.24/ipc/shm.c	2002-08-02 20:39:46.000000000 -0400
-+++ linux-2.4.24/ipc/shm.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/ipc/shm.c linux-2.4.24-vs1.24-grsec/ipc/shm.c
+--- linux-2.4.24-vs1.24/ipc/shm.c	2002-08-02 19:39:46.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/ipc/shm.c	2004-01-20 16:58:24.000000000 -0600
 @@ -23,6 +23,7 @@
  #include <linux/mman.h>
  #include <linux/proc_fs.h>
@@ -15164,9 +15164,9 @@
  	shm_unlock(shmid);
  
  	down_write(&current->mm->mmap_sem);
-diff -urN linux-2.4.24/kernel/capability.c linux-2.4.24/kernel/capability.c
---- linux-2.4.24/kernel/capability.c	2000-06-24 00:06:37.000000000 -0400
-+++ linux-2.4.24/kernel/capability.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/kernel/capability.c linux-2.4.24-vs1.24-grsec/kernel/capability.c
+--- linux-2.4.24-vs1.24/kernel/capability.c	2000-06-23 23:06:37.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/kernel/capability.c	2004-01-20 16:58:24.000000000 -0600
 @@ -7,6 +7,7 @@
  
  #include <linux/mm.h>
@@ -15186,18 +15186,18 @@
  
       /* verify restrictions on target's new Inheritable set */
       if (!cap_issubset(inheritable,
-diff -urN linux-2.4.24/kernel/exit.c linux-2.4.24/kernel/exit.c
---- linux-2.4.24/kernel/exit.c	2002-11-28 18:53:15.000000000 -0500
-+++ linux-2.4.24/kernel/exit.c	2004-01-05 11:39:44.000000000 -0500
-@@ -16,6 +16,7 @@
- #ifdef CONFIG_BSD_PROCESS_ACCT
+diff -urN linux-2.4.24-vs1.24/kernel/exit.c linux-2.4.24-vs1.24-grsec/kernel/exit.c
+--- linux-2.4.24-vs1.24/kernel/exit.c	2004-01-20 16:58:01.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/kernel/exit.c	2004-01-20 16:58:24.000000000 -0600
+@@ -17,6 +17,7 @@
  #include <linux/acct.h>
  #endif
+ #include <linux/vcontext.h>
 +#include <linux/grsecurity.h>
  
  #include <asm/uaccess.h>
  #include <asm/pgtable.h>
-@@ -439,6 +440,10 @@
+@@ -455,6 +456,10 @@
  #ifdef CONFIG_BSD_PROCESS_ACCT
  	acct_process(code);
  #endif
@@ -15208,18 +15208,18 @@
  	__exit_mm(tsk);
  
  	lock_kernel();
-diff -urN linux-2.4.24/kernel/fork.c linux-2.4.24/kernel/fork.c
---- linux-2.4.24/kernel/fork.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/kernel/fork.c	2004-01-05 11:39:44.000000000 -0500
-@@ -22,6 +22,7 @@
- #include <linux/namespace.h>
+diff -urN linux-2.4.24-vs1.24/kernel/fork.c linux-2.4.24-vs1.24-grsec/kernel/fork.c
+--- linux-2.4.24-vs1.24/kernel/fork.c	2004-01-20 16:58:01.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/kernel/fork.c	2004-01-20 16:58:24.000000000 -0600
+@@ -23,6 +23,7 @@
  #include <linux/personality.h>
  #include <linux/compiler.h>
+ #include <linux/vcontext.h>
 +#include <linux/grsecurity.h>
  
  #include <asm/pgtable.h>
  #include <asm/pgalloc.h>
-@@ -93,6 +94,10 @@
+@@ -94,6 +95,10 @@
  	if (flags & CLONE_PID)
  		return current->pid;
  
@@ -15230,7 +15230,7 @@
  	spin_lock(&lastpid_lock);
  	beginpid = last_pid;
  	if((++last_pid) & 0xffff8000) {
-@@ -668,6 +673,9 @@
+@@ -672,6 +677,9 @@
  	 * friends to set the per-user process limit to something lower
  	 * than the amount of processes root is running. -- Rik
  	 */
@@ -15240,7 +15240,7 @@
  	if (atomic_read(&p->user->processes) >= p->rlim[RLIMIT_NPROC].rlim_cur
  	              && !capable(CAP_SYS_ADMIN) && !capable(CAP_SYS_RESOURCE))
  		goto bad_fork_free;
-@@ -753,6 +761,7 @@
+@@ -760,6 +768,7 @@
  	retval = copy_thread(0, clone_flags, stack_start, stack_size, p, regs);
  	if (retval)
  		goto bad_fork_cleanup_namespace;
@@ -15248,7 +15248,7 @@
  	p->semundo = NULL;
  	
  	/* Our parent execution domain becomes current domain
-@@ -838,6 +847,9 @@
+@@ -845,6 +854,9 @@
  	free_uid(p->user);
  bad_fork_free:
  	free_task_struct(p);
@@ -15258,9 +15258,9 @@
  	goto fork_out;
  }
  
-diff -urN linux-2.4.24/kernel/ksyms.c linux-2.4.24/kernel/ksyms.c
---- linux-2.4.24/kernel/ksyms.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/kernel/ksyms.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/kernel/ksyms.c linux-2.4.24-vs1.24-grsec/kernel/ksyms.c
+--- linux-2.4.24-vs1.24/kernel/ksyms.c	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/kernel/ksyms.c	2004-01-20 16:58:24.000000000 -0600
 @@ -50,6 +50,7 @@
  #include <linux/dnotify.h>
  #include <linux/crc32.h>
@@ -15279,9 +15279,9 @@
 +EXPORT_SYMBOL(gr_pid_is_chrooted);
 +EXPORT_SYMBOL(gr_learn_resource);
 +EXPORT_SYMBOL(gr_set_kernel_label);
-diff -urN linux-2.4.24/kernel/module.c linux-2.4.24/kernel/module.c
---- linux-2.4.24/kernel/module.c	2003-08-25 07:44:44.000000000 -0400
-+++ linux-2.4.24/kernel/module.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/kernel/module.c linux-2.4.24-vs1.24-grsec/kernel/module.c
+--- linux-2.4.24-vs1.24/kernel/module.c	2003-08-25 06:44:44.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/kernel/module.c	2004-01-20 16:58:24.000000000 -0600
 @@ -900,6 +900,11 @@
  	struct module *mod;
  	int err;
@@ -15306,18 +15306,18 @@
  	lock_kernel();
  	for (mod = module_list, i = 0; mod; mod = mod->next) {
  		/* include the count for the module name! */
-diff -urN linux-2.4.24/kernel/printk.c linux-2.4.24/kernel/printk.c
---- linux-2.4.24/kernel/printk.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/kernel/printk.c	2004-01-05 11:39:44.000000000 -0500
-@@ -26,6 +26,7 @@
- #include <linux/module.h>
+diff -urN linux-2.4.24-vs1.24/kernel/printk.c linux-2.4.24-vs1.24-grsec/kernel/printk.c
+--- linux-2.4.24-vs1.24/kernel/printk.c	2004-01-20 16:58:01.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/kernel/printk.c	2004-01-20 16:58:24.000000000 -0600
+@@ -27,6 +27,7 @@
  #include <linux/interrupt.h>			/* For in_interrupt() */
  #include <linux/config.h>
+ #include <linux/vcontext.h>
 +#include <linux/grsecurity.h>
  
  #include <asm/uaccess.h>
  
-@@ -298,6 +299,11 @@
+@@ -302,6 +303,11 @@
  
  asmlinkage long sys_syslog(int type, char * buf, int len)
  {
@@ -15329,9 +15329,9 @@
  	if ((type != 3) && !capable(CAP_SYS_ADMIN))
  		return -EPERM;
  	return do_syslog(type, buf, len);
-diff -urN linux-2.4.24/kernel/sched.c linux-2.4.24/kernel/sched.c
---- linux-2.4.24/kernel/sched.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/kernel/sched.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/kernel/sched.c linux-2.4.24-vs1.24-grsec/kernel/sched.c
+--- linux-2.4.24-vs1.24/kernel/sched.c	2004-01-20 16:58:01.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/kernel/sched.c	2004-01-20 16:58:24.000000000 -0600
 @@ -22,6 +22,7 @@
  #include <linux/config.h>
  #include <linux/mm.h>
@@ -15340,15 +15340,15 @@
  #include <linux/smp_lock.h>
  #include <linux/nmi.h>
  #include <linux/interrupt.h>
-@@ -29,6 +30,7 @@
- #include <linux/completion.h>
+@@ -30,6 +31,7 @@
  #include <linux/prefetch.h>
  #include <linux/compiler.h>
+ #include <linux/vcontext.h>
 +#include <linux/grsecurity.h>
  
  #include <asm/uaccess.h>
  #include <asm/mmu_context.h>
-@@ -910,6 +912,9 @@
+@@ -927,6 +929,9 @@
  			return -EPERM;
  		if (increment < -40)
  			increment = -40;
@@ -15358,7 +15358,7 @@
  	}
  	if (increment > 40)
  		increment = 40;
-@@ -1288,12 +1293,21 @@
+@@ -1305,12 +1310,21 @@
  
  	write_lock_irq(&tasklist_lock);
  
@@ -15380,7 +15380,7 @@
  	/* Set the exit signal to SIGCHLD so we signal init on exit */
  	this_task->exit_signal = SIGCHLD;
  
-@@ -1327,6 +1341,13 @@
+@@ -1344,6 +1358,13 @@
  {
  	struct fs_struct *fs;
  
@@ -15394,19 +15394,19 @@
  
  	/*
  	 * If we were started as result of loading a module, close all of the
-diff -urN linux-2.4.24/kernel/signal.c linux-2.4.24/kernel/signal.c
---- linux-2.4.24/kernel/signal.c	2003-06-13 10:51:39.000000000 -0400
-+++ linux-2.4.24/kernel/signal.c	2004-01-05 11:39:44.000000000 -0500
-@@ -13,6 +13,8 @@
- #include <linux/smp_lock.h>
+diff -urN linux-2.4.24-vs1.24/kernel/signal.c linux-2.4.24-vs1.24-grsec/kernel/signal.c
+--- linux-2.4.24-vs1.24/kernel/signal.c	2004-01-20 16:58:01.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/kernel/signal.c	2004-01-20 16:58:24.000000000 -0600
+@@ -14,6 +14,8 @@
  #include <linux/init.h>
  #include <linux/sched.h>
+ #include <linux/vswitch.h>
 +#include <linux/fs.h>
 +#include <linux/grsecurity.h>
  
  #include <asm/uaccess.h>
  
-@@ -554,6 +556,8 @@
+@@ -555,6 +557,8 @@
  	if (!sig || !t->sig)
  		goto out_nolock;
  
@@ -15415,7 +15415,7 @@
  	spin_lock_irqsave(&t->sigmask_lock, flags);
  	handle_stop_signal(sig, t);
  
-@@ -603,6 +607,8 @@
+@@ -604,6 +608,8 @@
  	recalc_sigpending(t);
  	spin_unlock_irqrestore(&t->sigmask_lock, flags);
  
@@ -15424,10 +15424,10 @@
  	return send_sig_info(sig, info, t);
  }
  
-@@ -622,9 +628,13 @@
- 		read_lock(&tasklist_lock);
- 		for_each_task(p) {
- 			if (p->pgrp == pgrp && thread_group_leader(p)) {
+@@ -625,9 +631,13 @@
+ 			if (p->pgrp == pgrp && thread_group_leader(p) &&
+ 				((long)info == 1 ||
+ 				vx_check(p->vx_id, VX_IDENT))) {
 -				int err = send_sig_info(sig, info, p);
 -				if (retval)
 -					retval = err;
@@ -15441,22 +15441,20 @@
  			}
  		}
  		read_unlock(&tasklist_lock);
-@@ -675,7 +685,10 @@
+@@ -678,6 +688,9 @@
                         if (tg)
                                 p = tg;
                  }
--		error = send_sig_info(sig, info, p);
 +		if (gr_handle_signal(p, sig))
 +			error = -EPERM;
 +		else
-+			error = send_sig_info(sig, info, p);
- 	}
- 	read_unlock(&tasklist_lock);
- 	return error;
-@@ -700,10 +713,14 @@
- 		read_lock(&tasklist_lock);
- 		for_each_task(p) {
- 			if (p->pid > 1 && p != current && thread_group_leader(p)) {
+ 		switch ((unsigned long)info) {
+ 		case 0:
+ 			if (vx_check(p->vx_id, VX_IDENT))
+@@ -718,10 +731,14 @@
+ 			if (p->pid > 1 && p != current &&
+ 				thread_group_leader(p) &&
+ 				vx_check(p->vx_id, VX_IDENT)) {
 -				int err = send_sig_info(sig, info, p);
 -				++count;
 -				if (err != -EPERM)
@@ -15472,9 +15470,9 @@
  			}
  		}
  		read_unlock(&tasklist_lock);
-diff -urN linux-2.4.24/kernel/sys.c linux-2.4.24/kernel/sys.c
---- linux-2.4.24/kernel/sys.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/kernel/sys.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/kernel/sys.c linux-2.4.24-vs1.24-grsec/kernel/sys.c
+--- linux-2.4.24-vs1.24/kernel/sys.c	2004-01-20 16:58:01.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/kernel/sys.c	2004-01-20 16:58:24.000000000 -0600
 @@ -4,6 +4,7 @@
   *  Copyright (C) 1991, 1992  Linus Torvalds
   */
@@ -15482,16 +15480,16 @@
 +#include <linux/config.h>
  #include <linux/module.h>
  #include <linux/mm.h>
- #include <linux/utsname.h>
-@@ -14,6 +15,7 @@
- #include <linux/prctl.h>
+ #include <linux/vmalloc.h>
+@@ -17,6 +18,7 @@
  #include <linux/init.h>
  #include <linux/highuid.h>
+ #include <linux/vcontext.h>
 +#include <linux/grsecurity.h>
  
  #include <asm/uaccess.h>
  #include <asm/io.h>
-@@ -239,6 +241,12 @@
+@@ -242,6 +244,12 @@
  		}
  		if (error == -ESRCH)
  			error = 0;
@@ -15504,7 +15502,7 @@
  		if (niceval < p->nice && !capable(CAP_SYS_NICE))
  			error = -EACCES;
  		else
-@@ -617,6 +625,9 @@
+@@ -684,6 +692,9 @@
  	} else if ((uid != current->uid) && (uid != new_suid))
  		return -EPERM;
  
@@ -15514,7 +15512,7 @@
  	if (old_euid != uid)
  	{
  		current->mm->dumpable = 0;
-@@ -1137,6 +1148,10 @@
+@@ -1225,6 +1236,10 @@
         if (new_rlim.rlim_cur > new_rlim.rlim_max)
                 return -EINVAL;
  	old_rlim = current->rlim + resource;
@@ -15525,10 +15523,10 @@
  	if (((new_rlim.rlim_cur > old_rlim->rlim_max) ||
  	     (new_rlim.rlim_max > old_rlim->rlim_max)) &&
  	    !capable(CAP_SYS_RESOURCE))
-diff -urN linux-2.4.24/kernel/sysctl.c linux-2.4.24/kernel/sysctl.c
---- linux-2.4.24/kernel/sysctl.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/kernel/sysctl.c	2004-01-05 11:39:44.000000000 -0500
-@@ -39,6 +39,15 @@
+diff -urN linux-2.4.24-vs1.24/kernel/sysctl.c linux-2.4.24-vs1.24-grsec/kernel/sysctl.c
+--- linux-2.4.24-vs1.24/kernel/sysctl.c	2004-01-20 16:58:01.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/kernel/sysctl.c	2004-01-20 16:58:24.000000000 -0600
+@@ -40,6 +40,15 @@
  #endif
  
  #if defined(CONFIG_SYSCTL)
@@ -15544,7 +15542,7 @@
  
  /* External variables not in a header file. */
  extern int panic_timeout;
-@@ -127,6 +136,8 @@
+@@ -129,6 +138,8 @@
  static ctl_table dev_table[];
  extern ctl_table random_table[];
  
@@ -15553,10 +15551,10 @@
  /* /proc declarations: */
  
  #ifdef CONFIG_PROC_FS
-@@ -275,9 +286,195 @@
- 	{KERN_EXCEPTION_TRACE,"exception-trace",
- 	 &exception_trace,sizeof(int),0644,NULL,&proc_dointvec},
+@@ -279,9 +290,195 @@
  #endif	
+ 	{KERN_VSHELPER,"vshelper",
+ 	 &vshelper_path,256,0644,NULL,&proc_dostring,&sysctl_string},
 +#ifdef CONFIG_GRKERNSEC
 +	{KERN_GRSECURITY, "grsecurity", NULL, 0, 0500, grsecurity_table},
 +#endif
@@ -15749,7 +15747,7 @@
  static ctl_table vm_table[] = {
  	{VM_GFP_DEBUG, "vm_gfp_debug", 
  	 &vm_gfp_debug, sizeof(int), 0644, NULL, &proc_dointvec},
-@@ -425,6 +622,11 @@
+@@ -431,6 +628,11 @@
  
  static inline int ctl_perm(ctl_table *table, int op)
  {
@@ -15761,7 +15759,7 @@
  	return test_perm(table->mode, op);
  }
  
-@@ -458,6 +660,10 @@
+@@ -464,6 +666,10 @@
  				table = table->child;
  				goto repeat;
  			}
@@ -15772,9 +15770,9 @@
  			error = do_sysctl_strategy(table, name, nlen,
  						   oldval, oldlenp,
  						   newval, newlen, context);
-diff -urN linux-2.4.24/kernel/time.c linux-2.4.24/kernel/time.c
---- linux-2.4.24/kernel/time.c	2002-11-28 18:53:15.000000000 -0500
-+++ linux-2.4.24/kernel/time.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/kernel/time.c linux-2.4.24-vs1.24-grsec/kernel/time.c
+--- linux-2.4.24-vs1.24/kernel/time.c	2002-11-28 17:53:15.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/kernel/time.c	2004-01-20 16:58:24.000000000 -0600
 @@ -27,6 +27,7 @@
  #include <linux/mm.h>
  #include <linux/timex.h>
@@ -15802,10 +15800,10 @@
  	}
  	return 0;
  }
-diff -urN linux-2.4.24/kernel/timer.c linux-2.4.24/kernel/timer.c
---- linux-2.4.24/kernel/timer.c	2002-11-28 18:53:15.000000000 -0500
-+++ linux-2.4.24/kernel/timer.c	2004-01-05 11:39:44.000000000 -0500
-@@ -541,6 +541,9 @@
+diff -urN linux-2.4.24-vs1.24/kernel/timer.c linux-2.4.24-vs1.24-grsec/kernel/timer.c
+--- linux-2.4.24-vs1.24/kernel/timer.c	2004-01-20 16:58:01.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/kernel/timer.c	2004-01-20 16:58:24.000000000 -0600
+@@ -542,6 +542,9 @@
  
  	psecs = (p->times.tms_utime += user);
  	psecs += (p->times.tms_stime += system);
@@ -15815,9 +15813,9 @@
  	if (psecs / HZ > p->rlim[RLIMIT_CPU].rlim_cur) {
  		/* Send SIGXCPU every second.. */
  		if (!(psecs % HZ))
-diff -urN linux-2.4.24/mm/filemap.c linux-2.4.24/mm/filemap.c
---- linux-2.4.24/mm/filemap.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/mm/filemap.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/mm/filemap.c linux-2.4.24-vs1.24-grsec/mm/filemap.c
+--- linux-2.4.24-vs1.24/mm/filemap.c	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/mm/filemap.c	2004-01-20 17:11:39.000000000 -0600
 @@ -2268,6 +2268,12 @@
  	}
  	if (!mapping->a_ops->readpage)
@@ -15898,9 +15896,9 @@
  		if (pos >= inode->i_sb->s_maxbytes)
  		{
  			if (*count || pos > inode->i_sb->s_maxbytes) {
-diff -urN linux-2.4.24/mm/memory.c linux-2.4.24/mm/memory.c
---- linux-2.4.24/mm/memory.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/mm/memory.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/mm/memory.c linux-2.4.24-vs1.24-grsec/mm/memory.c
+--- linux-2.4.24-vs1.24/mm/memory.c	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/mm/memory.c	2004-01-20 16:58:25.000000000 -0600
 @@ -925,6 +925,65 @@
  	establish_pte(vma, address, page_table, pte_mkwrite(pte_mkdirty(mk_pte(new_page, vma->vm_page_prot))));
  }
@@ -16083,9 +16081,9 @@
  	pmd = pmd_alloc(mm, pgd, address);
  
  	if (pmd) {
-diff -urN linux-2.4.24/mm/mlock.c linux-2.4.24/mm/mlock.c
---- linux-2.4.24/mm/mlock.c	2001-09-17 18:30:23.000000000 -0400
-+++ linux-2.4.24/mm/mlock.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/mm/mlock.c linux-2.4.24-vs1.24-grsec/mm/mlock.c
+--- linux-2.4.24-vs1.24/mm/mlock.c	2001-09-17 17:30:23.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/mm/mlock.c	2004-01-20 17:11:39.000000000 -0600
 @@ -114,9 +114,40 @@
  	return 0;
  }
@@ -16178,9 +16176,9 @@
  	if (current->mm->total_vm > lock_limit)
  		goto out;
  
-diff -urN linux-2.4.24/mm/mmap.c linux-2.4.24/mm/mmap.c
---- linux-2.4.24/mm/mmap.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/mm/mmap.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/mm/mmap.c linux-2.4.24-vs1.24-grsec/mm/mmap.c
+--- linux-2.4.24-vs1.24/mm/mmap.c	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/mm/mmap.c	2004-01-20 16:58:25.000000000 -0600
 @@ -14,6 +14,8 @@
  #include <linux/file.h>
  #include <linux/fs.h>
@@ -16661,9 +16659,9 @@
  	vma->vm_page_prot = protection_map[flags & 0x0f];
  	vma->vm_ops = NULL;
  	vma->vm_pgoff = 0;
-diff -urN linux-2.4.24/mm/mprotect.c linux-2.4.24/mm/mprotect.c
---- linux-2.4.24/mm/mprotect.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/mm/mprotect.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/mm/mprotect.c linux-2.4.24-vs1.24-grsec/mm/mprotect.c
+--- linux-2.4.24-vs1.24/mm/mprotect.c	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/mm/mprotect.c	2004-01-20 17:11:39.000000000 -0600
 @@ -7,6 +7,12 @@
  #include <linux/smp_lock.h>
  #include <linux/shm.h>
@@ -16860,9 +16858,9 @@
  	up_write(&current->mm->mmap_sem);
  	return error;
  }
-diff -urN linux-2.4.24/mm/mremap.c linux-2.4.24/mm/mremap.c
---- linux-2.4.24/mm/mremap.c	2004-01-05 08:53:56.000000000 -0500
-+++ linux-2.4.24/mm/mremap.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/mm/mremap.c linux-2.4.24-vs1.24-grsec/mm/mremap.c
+--- linux-2.4.24-vs1.24/mm/mremap.c	2004-01-05 07:53:56.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/mm/mremap.c	2004-01-20 16:58:25.000000000 -0600
 @@ -193,7 +193,9 @@
  		}
  
@@ -16960,9 +16958,9 @@
  			current->mm->total_vm += pages;
  			if (vma->vm_flags & VM_LOCKED) {
  				current->mm->locked_vm += pages;
-diff -urN linux-2.4.24/net/ipv4/af_inet.c linux-2.4.24/net/ipv4/af_inet.c
---- linux-2.4.24/net/ipv4/af_inet.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/net/ipv4/af_inet.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/net/ipv4/af_inet.c linux-2.4.24-vs1.24-grsec/net/ipv4/af_inet.c
+--- linux-2.4.24-vs1.24/net/ipv4/af_inet.c	2004-01-20 16:58:01.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/net/ipv4/af_inet.c	2004-01-20 16:58:25.000000000 -0600
 @@ -83,6 +83,7 @@
  #include <linux/init.h>
  #include <linux/poll.h>
@@ -16971,7 +16969,7 @@
  
  #include <asm/uaccess.h>
  #include <asm/system.h>
-@@ -374,7 +375,12 @@
+@@ -376,7 +377,12 @@
  	else
  		sk->protinfo.af_inet.pmtudisc = IP_PMTUDISC_WANT;
  
@@ -16985,9 +16983,9 @@
  
  	sock_init_data(sock,sk);
  
-diff -urN linux-2.4.24/net/ipv4/ip_output.c linux-2.4.24/net/ipv4/ip_output.c
---- linux-2.4.24/net/ipv4/ip_output.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/net/ipv4/ip_output.c	2004-01-05 11:39:45.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/net/ipv4/ip_output.c linux-2.4.24-vs1.24-grsec/net/ipv4/ip_output.c
+--- linux-2.4.24-vs1.24/net/ipv4/ip_output.c	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/net/ipv4/ip_output.c	2004-01-20 16:58:25.000000000 -0600
 @@ -77,6 +77,7 @@
  #include <linux/netfilter_ipv4.h>
  #include <linux/mroute.h>
@@ -17011,9 +17009,9 @@
  
  	do {
  		char *data;
-diff -urN linux-2.4.24/net/ipv4/netfilter/Config.in linux-2.4.24/net/ipv4/netfilter/Config.in
---- linux-2.4.24/net/ipv4/netfilter/Config.in	2003-08-25 07:44:44.000000000 -0400
-+++ linux-2.4.24/net/ipv4/netfilter/Config.in	2004-01-05 11:39:45.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/net/ipv4/netfilter/Config.in linux-2.4.24-vs1.24-grsec/net/ipv4/netfilter/Config.in
+--- linux-2.4.24-vs1.24/net/ipv4/netfilter/Config.in	2003-08-25 06:44:44.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/net/ipv4/netfilter/Config.in	2004-01-20 16:58:25.000000000 -0600
 @@ -33,6 +33,7 @@
    dep_tristate '  LENGTH match support' CONFIG_IP_NF_MATCH_LENGTH $CONFIG_IP_NF_IPTABLES
    dep_tristate '  TTL match support' CONFIG_IP_NF_MATCH_TTL $CONFIG_IP_NF_IPTABLES
@@ -17022,9 +17020,9 @@
    if [ "$CONFIG_IP_NF_CONNTRACK" != "n" ]; then
      dep_tristate '  Helper match support' CONFIG_IP_NF_MATCH_HELPER $CONFIG_IP_NF_IPTABLES
    fi
-diff -urN linux-2.4.24/net/ipv4/netfilter/Makefile linux-2.4.24/net/ipv4/netfilter/Makefile
---- linux-2.4.24/net/ipv4/netfilter/Makefile	2003-08-25 07:44:44.000000000 -0400
-+++ linux-2.4.24/net/ipv4/netfilter/Makefile	2004-01-05 11:39:45.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/net/ipv4/netfilter/Makefile linux-2.4.24-vs1.24-grsec/net/ipv4/netfilter/Makefile
+--- linux-2.4.24-vs1.24/net/ipv4/netfilter/Makefile	2003-08-25 06:44:44.000000000 -0500
++++ linux-2.4.24-vs1.24-grsec/net/ipv4/netfilter/Makefile	2004-01-20 16:58:25.000000000 -0600
 @@ -86,6 +86,7 @@
  obj-$(CONFIG_IP_NF_MATCH_CONNTRACK) += ipt_conntrack.o
  obj-$(CONFIG_IP_NF_MATCH_UNCLEAN) += ipt_unclean.o
@@ -17033,9 +17031,9 @@
  
  # targets
  obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o
-diff -urN linux-2.4.24/net/ipv4/netfilter/ipt_stealth.c linux-2.4.24/net/ipv4/netfilter/ipt_stealth.c
---- linux-2.4.24/net/ipv4/netfilter/ipt_stealth.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.4.24/net/ipv4/netfilter/ipt_stealth.c	2004-01-05 11:39:45.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/net/ipv4/netfilter/ipt_stealth.c linux-2.4.24-vs1.24-grsec/net/ipv4/netfilter/ipt_stealth.c
+--- linux-2.4.24-vs1.24/net/ipv4/netfilter/ipt_stealth.c	1969-12-31 18:00:00.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/net/ipv4/netfilter/ipt_stealth.c	2004-01-20 16:58:25.000000000 -0600
 @@ -0,0 +1,109 @@
 +/* Kernel module to add stealth support.
 + *
@@ -17146,9 +17144,9 @@
 +
 +module_init(init);
 +module_exit(fini);
-diff -urN linux-2.4.24/net/ipv4/tcp_ipv4.c linux-2.4.24/net/ipv4/tcp_ipv4.c
---- linux-2.4.24/net/ipv4/tcp_ipv4.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/net/ipv4/tcp_ipv4.c	2004-01-05 11:39:45.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/net/ipv4/tcp_ipv4.c linux-2.4.24-vs1.24-grsec/net/ipv4/tcp_ipv4.c
+--- linux-2.4.24-vs1.24/net/ipv4/tcp_ipv4.c	2004-01-20 16:58:01.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/net/ipv4/tcp_ipv4.c	2004-01-20 16:58:25.000000000 -0600
 @@ -67,6 +67,7 @@
  #include <linux/inet.h>
  #include <linux/stddef.h>
@@ -17157,7 +17155,7 @@
  
  extern int sysctl_ip_dynaddr;
  extern int sysctl_ip_default_ttl;
-@@ -223,9 +224,18 @@
+@@ -264,9 +265,18 @@
  
  		spin_lock(&tcp_portalloc_lock);
  		rover = tcp_port_rover;
@@ -17179,7 +17177,7 @@
  			head = &tcp_bhash[tcp_bhashfn(rover)];
  			spin_lock(&head->lock);
  			for (tb = head->chain; tb; tb = tb->next)
-@@ -548,6 +558,11 @@
+@@ -616,6 +626,11 @@
  
  static inline __u32 tcp_v4_init_sequence(struct sock *sk, struct sk_buff *skb)
  {
@@ -17191,7 +17189,7 @@
  	return secure_tcp_sequence_number(skb->nh.iph->daddr,
  					  skb->nh.iph->saddr,
  					  skb->h.th->dest,
-@@ -683,9 +698,16 @@
+@@ -751,9 +766,16 @@
  		rover = tcp_port_rover;
  
  		do {
@@ -17211,7 +17209,7 @@
  			head = &tcp_bhash[tcp_bhashfn(rover)];
  			spin_lock(&head->lock);		
  
-@@ -734,6 +756,14 @@
+@@ -802,6 +824,14 @@
  		}
  		spin_unlock(&head->lock);
  
@@ -17226,7 +17224,7 @@
  		if (tw) {
  			tcp_tw_deschedule(tw);
  			tcp_timewait_kill(tw);
-@@ -846,11 +876,22 @@
+@@ -914,11 +944,22 @@
  	if (err)
  		goto failure;
  
@@ -17251,7 +17249,7 @@
  
  	err = tcp_connect(sk);
  	if (err)
-@@ -1572,7 +1613,13 @@
+@@ -1640,7 +1681,13 @@
  	newtp->ext_header_len = 0;
  	if (newsk->protinfo.af_inet.opt)
  		newtp->ext_header_len = newsk->protinfo.af_inet.opt->optlen;
@@ -17266,9 +17264,9 @@
  
  	tcp_sync_mss(newsk, dst->pmtu);
  	newtp->advmss = dst->advmss;
-diff -urN linux-2.4.24/net/ipv4/udp.c linux-2.4.24/net/ipv4/udp.c
---- linux-2.4.24/net/ipv4/udp.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/net/ipv4/udp.c	2004-01-05 11:39:45.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/net/ipv4/udp.c linux-2.4.24-vs1.24-grsec/net/ipv4/udp.c
+--- linux-2.4.24-vs1.24/net/ipv4/udp.c	2004-01-20 16:58:01.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/net/ipv4/udp.c	2004-01-20 16:58:25.000000000 -0600
 @@ -91,6 +91,7 @@
  #include <net/ipv6.h>
  #include <net/protocol.h>
@@ -17289,7 +17287,7 @@
  /*
   *	Snmp MIB for the UDP layer
   */
-@@ -480,9 +486,15 @@
+@@ -497,9 +503,15 @@
  		ufh.uh.dest = usin->sin_port;
  		if (ufh.uh.dest == 0)
  			return -EINVAL;
@@ -17305,7 +17303,7 @@
  		ufh.daddr = sk->daddr;
  		ufh.uh.dest = sk->dport;
  		/* Open fast path for connected socket.
-@@ -490,6 +502,7 @@
+@@ -507,6 +519,7 @@
  		 */
  		connected = 1;
    	}
@@ -17313,7 +17311,7 @@
  	ipc.addr = sk->saddr;
  	ufh.uh.source = sk->sport;
  
-@@ -661,6 +674,11 @@
+@@ -690,6 +703,11 @@
  	if (!skb)
  		goto out;
    
@@ -17325,7 +17323,7 @@
    	copied = skb->len - sizeof(struct udphdr);
  	if (copied > len) {
  		copied = len;
-@@ -765,7 +783,13 @@
+@@ -794,7 +812,13 @@
  	sk->daddr = rt->rt_dst;
  	sk->dport = usin->sin_port;
  	sk->state = TCP_ESTABLISHED;
@@ -17340,9 +17338,9 @@
  
  	sk_dst_set(sk, &rt->u.dst);
  	return(0);
-diff -urN linux-2.4.24/net/netlink/af_netlink.c linux-2.4.24/net/netlink/af_netlink.c
---- linux-2.4.24/net/netlink/af_netlink.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/net/netlink/af_netlink.c	2004-01-05 11:39:45.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/net/netlink/af_netlink.c linux-2.4.24-vs1.24-grsec/net/netlink/af_netlink.c
+--- linux-2.4.24-vs1.24/net/netlink/af_netlink.c	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/net/netlink/af_netlink.c	2004-01-20 16:58:25.000000000 -0600
 @@ -40,6 +40,7 @@
  #include <linux/proc_fs.h>
  #include <linux/smp_lock.h>
@@ -17361,9 +17359,9 @@
  
  	err = -EFAULT;
  	if (memcpy_fromiovec(skb_put(skb,len), msg->msg_iov, len)) {
-diff -urN linux-2.4.24/net/netsyms.c linux-2.4.24/net/netsyms.c
---- linux-2.4.24/net/netsyms.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/net/netsyms.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/net/netsyms.c linux-2.4.24-vs1.24-grsec/net/netsyms.c
+--- linux-2.4.24-vs1.24/net/netsyms.c	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/net/netsyms.c	2004-01-20 16:58:25.000000000 -0600
 @@ -25,6 +25,7 @@
  #include <net/checksum.h>
  #include <linux/etherdevice.h>
@@ -17422,9 +17420,9 @@
  #if defined(CONFIG_NET_RADIO) || defined(CONFIG_NET_PCMCIA_RADIO)
  #include <net/iw_handler.h>
  EXPORT_SYMBOL(wireless_send_event);
-diff -urN linux-2.4.24/net/socket.c linux-2.4.24/net/socket.c
---- linux-2.4.24/net/socket.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/net/socket.c	2004-01-05 11:39:44.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/net/socket.c linux-2.4.24-vs1.24-grsec/net/socket.c
+--- linux-2.4.24-vs1.24/net/socket.c	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/net/socket.c	2004-01-20 16:58:25.000000000 -0600
 @@ -85,6 +85,18 @@
  #include <net/scm.h>
  #include <linux/netfilter.h>
@@ -17545,9 +17543,9 @@
  	return err;
  }
  
-diff -urN linux-2.4.24/net/sunrpc/xprt.c linux-2.4.24/net/sunrpc/xprt.c
---- linux-2.4.24/net/sunrpc/xprt.c	2003-11-28 13:26:21.000000000 -0500
-+++ linux-2.4.24/net/sunrpc/xprt.c	2004-01-05 11:39:45.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/net/sunrpc/xprt.c linux-2.4.24-vs1.24-grsec/net/sunrpc/xprt.c
+--- linux-2.4.24-vs1.24/net/sunrpc/xprt.c	2003-11-28 12:26:21.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/net/sunrpc/xprt.c	2004-01-20 16:58:25.000000000 -0600
 @@ -59,6 +59,7 @@
  #include <linux/unistd.h>
  #include <linux/sunrpc/clnt.h>
@@ -17569,9 +17567,9 @@
  	return ret;
  }
  
-diff -urN linux-2.4.24/net/unix/af_unix.c linux-2.4.24/net/unix/af_unix.c
---- linux-2.4.24/net/unix/af_unix.c	2002-11-28 18:53:16.000000000 -0500
-+++ linux-2.4.24/net/unix/af_unix.c	2004-01-05 11:39:45.000000000 -0500
+diff -urN linux-2.4.24-vs1.24/net/unix/af_unix.c linux-2.4.24-vs1.24-grsec/net/unix/af_unix.c
+--- linux-2.4.24-vs1.24/net/unix/af_unix.c	2004-01-20 16:58:01.000000000 -0600
++++ linux-2.4.24-vs1.24-grsec/net/unix/af_unix.c	2004-01-20 16:58:25.000000000 -0600
 @@ -109,6 +109,7 @@
  #include <linux/poll.h>
  #include <linux/smp_lock.h>
@@ -17580,7 +17578,7 @@
  
  #include <asm/checksum.h>
  
-@@ -599,6 +600,11 @@
+@@ -601,6 +602,11 @@
  		if (err)
  			goto put_fail;
  
@@ -17592,7 +17590,7 @@
  		err = -ECONNREFUSED;
  		if (!S_ISSOCK(nd.dentry->d_inode->i_mode))
  			goto put_fail;
-@@ -622,6 +628,13 @@
+@@ -624,6 +630,13 @@
  		if (u) {
  			struct dentry *dentry;
  			dentry = u->protinfo.af_unix.dentry;
@@ -17606,7 +17604,7 @@
  			if (dentry)
  				UPDATE_ATIME(dentry->d_inode);
  		} else
-@@ -720,9 +733,19 @@
+@@ -722,9 +735,19 @@
  		 * All right, let's create it.
  		 */
  		mode = S_IFSOCK | (sock->inode->i_mode & ~current->fs->umask);
@@ -17626,7 +17624,7 @@
  		up(&nd.dentry->d_inode->i_sem);
  		dput(nd.dentry);
  		nd.dentry = dentry;
-@@ -740,6 +763,10 @@
+@@ -742,6 +765,10 @@
  			goto out_unlock;
  		}
  
@@ -17637,7 +17635,7 @@
  		list = &unix_socket_table[addr->hash];
  	} else {
  		list = &unix_socket_table[dentry->d_inode->i_ino & (UNIX_HASH_SIZE-1)];
-@@ -866,6 +893,9 @@
+@@ -868,6 +895,9 @@
  	int st;
  	int err;
  	long timeo;
@@ -17647,7 +17645,7 @@
  
  	err = unix_mkname(sunaddr, addr_len, &hash);
  	if (err < 0)
-@@ -989,6 +1019,17 @@
+@@ -991,6 +1021,17 @@
  	/* Set credentials */
  	sk->peercred = other->peercred;
  
