Author: zbyniu                       Date: Mon Sep  4 20:59:13 2006 GMT
Module: SOURCES                       Tag: LINUX_2_6
---- Log message:
- ready for our kernel

---- Files affected:
SOURCES:
   grsecurity-2.1.9-2.6.17.11.patch (1.1 -> 1.1.2.1) 

---- Diffs:

================================================================
Index: SOURCES/grsecurity-2.1.9-2.6.17.11.patch
diff -u SOURCES/grsecurity-2.1.9-2.6.17.11.patch:1.1 
SOURCES/grsecurity-2.1.9-2.6.17.11.patch:1.1.2.1
--- SOURCES/grsecurity-2.1.9-2.6.17.11.patch:1.1        Wed Aug 30 14:05:11 2006
+++ SOURCES/grsecurity-2.1.9-2.6.17.11.patch    Mon Sep  4 22:59:08 2006
@@ -1,6 +1,6 @@
 diff -urNp linux-2.6.17.11/arch/alpha/kernel/module.c 
linux-2.6.17.11/arch/alpha/kernel/module.c
 --- linux-2.6.17.11/arch/alpha/kernel/module.c 2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/alpha/kernel/module.c 2006-08-12 08:17:55.000000000 
-0400
++++ linux-2.6.17.11/arch/alpha/kernel/module.c 2006-09-01 16:20:28.000000000 
-0400
 @@ -177,7 +177,7 @@ apply_relocate_add(Elf64_Shdr *sechdrs, 
  
        /* The small sections were sorted to the end of the segment.
@@ -12,8 +12,8 @@
        for (i = 0; i < n; i++) {
 diff -urNp linux-2.6.17.11/arch/alpha/kernel/osf_sys.c 
linux-2.6.17.11/arch/alpha/kernel/osf_sys.c
 --- linux-2.6.17.11/arch/alpha/kernel/osf_sys.c        2006-08-07 
00:18:54.000000000 -0400
-+++ linux-2.6.17.11/arch/alpha/kernel/osf_sys.c        2006-08-12 
08:17:55.000000000 -0400
-@@ -1273,6 +1273,10 @@ arch_get_unmapped_area(struct file *filp
++++ linux-2.6.17.11/arch/alpha/kernel/osf_sys.c        2006-09-01 
16:20:28.000000000 -0400
+@@ -1278,6 +1278,10 @@ arch_get_unmapped_area(struct file *filp
           merely specific addresses, but regions of memory -- perhaps
           this feature should be incorporated into all ports?  */
  
@@ -24,7 +24,7 @@
        if (addr) {
                addr = arch_get_unmapped_area_1 (PAGE_ALIGN(addr), len, limit);
                if (addr != (unsigned long) -ENOMEM)
-@@ -1280,8 +1284,8 @@ arch_get_unmapped_area(struct file *filp
+@@ -1285,8 +1289,8 @@ arch_get_unmapped_area(struct file *filp
        }
  
        /* Next, try allocating at TASK_UNMAPPED_BASE.  */
@@ -37,8 +37,8 @@
  
 diff -urNp linux-2.6.17.11/arch/alpha/kernel/ptrace.c 
linux-2.6.17.11/arch/alpha/kernel/ptrace.c
 --- linux-2.6.17.11/arch/alpha/kernel/ptrace.c 2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/alpha/kernel/ptrace.c 2006-08-12 08:17:55.000000000 
-0400
-@@ -15,6 +15,7 @@
++++ linux-2.6.17.11/arch/alpha/kernel/ptrace.c 2006-09-01 16:20:28.000000000 
-0400
+@@ -16,6 +16,7 @@
  #include <linux/security.h>
  #include <linux/signal.h>
  #include <linux/vs_pid.h>
@@ -46,8 +46,8 @@
  
  #include <asm/uaccess.h>
  #include <asm/pgtable.h>
-@@ -283,6 +284,9 @@ do_sys_ptrace(long request, long pid, lo
-               goto out_notsk;
+@@ -289,6 +290,9 @@ do_sys_ptrace(long request, long pid, lo
+               goto out;
        }
  
 +      if (gr_handle_ptrace(child, request))
@@ -58,7 +58,7 @@
                goto out;
 diff -urNp linux-2.6.17.11/arch/alpha/mm/fault.c 
linux-2.6.17.11/arch/alpha/mm/fault.c
 --- linux-2.6.17.11/arch/alpha/mm/fault.c      2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/alpha/mm/fault.c      2006-08-12 08:17:55.000000000 
-0400
++++ linux-2.6.17.11/arch/alpha/mm/fault.c      2006-09-01 16:20:28.000000000 
-0400
 @@ -25,6 +25,7 @@
  #include <linux/smp_lock.h>
  #include <linux/interrupt.h>
@@ -225,7 +225,7 @@
                if (!(vma->vm_flags & (VM_READ | VM_WRITE)))
 diff -urNp linux-2.6.17.11/arch/arm/mm/mmap.c 
linux-2.6.17.11/arch/arm/mm/mmap.c
 --- linux-2.6.17.11/arch/arm/mm/mmap.c 2006-08-07 00:18:54.000000000 -0400
-+++ linux-2.6.17.11/arch/arm/mm/mmap.c 2006-08-12 08:17:55.000000000 -0400
++++ linux-2.6.17.11/arch/arm/mm/mmap.c 2006-09-01 16:20:28.000000000 -0400
 @@ -62,6 +62,10 @@ arch_get_unmapped_area(struct file *filp
        if (len > TASK_SIZE)
                return -ENOMEM;
@@ -259,7 +259,7 @@
                        }
 diff -urNp linux-2.6.17.11/arch/i386/boot/compressed/head.S 
linux-2.6.17.11/arch/i386/boot/compressed/head.S
 --- linux-2.6.17.11/arch/i386/boot/compressed/head.S   2006-08-07 
00:18:54.000000000 -0400
-+++ linux-2.6.17.11/arch/i386/boot/compressed/head.S   2006-08-12 
08:17:55.000000000 -0400
++++ linux-2.6.17.11/arch/i386/boot/compressed/head.S   2006-09-01 
16:20:28.000000000 -0400
 @@ -39,11 +39,13 @@ startup_32:
        movl %eax,%gs
  
@@ -276,7 +276,7 @@
   * Initialize eflags.  Some BIOS's leave bits like NT set.  This would
 diff -urNp linux-2.6.17.11/arch/i386/Kconfig linux-2.6.17.11/arch/i386/Kconfig
 --- linux-2.6.17.11/arch/i386/Kconfig  2006-08-07 00:18:54.000000000 -0400
-+++ linux-2.6.17.11/arch/i386/Kconfig  2006-08-12 08:17:55.000000000 -0400
++++ linux-2.6.17.11/arch/i386/Kconfig  2006-09-01 16:20:28.000000000 -0400
 @@ -948,7 +948,7 @@ config PCI
  choice
        prompt "PCI access mode"
@@ -297,7 +297,7 @@
  config PCI_DIRECT
 diff -urNp linux-2.6.17.11/arch/i386/Kconfig.cpu 
linux-2.6.17.11/arch/i386/Kconfig.cpu
 --- linux-2.6.17.11/arch/i386/Kconfig.cpu      2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/i386/Kconfig.cpu      2006-08-12 08:17:55.000000000 
-0400
++++ linux-2.6.17.11/arch/i386/Kconfig.cpu      2006-09-01 16:20:28.000000000 
-0400
 @@ -251,7 +251,7 @@ config X86_PPRO_FENCE
  
  config X86_F00F_BUG
@@ -318,7 +318,7 @@
  config X86_GOOD_APIC
 diff -urNp linux-2.6.17.11/arch/i386/Kconfig.debug 
linux-2.6.17.11/arch/i386/Kconfig.debug
 --- linux-2.6.17.11/arch/i386/Kconfig.debug    2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/i386/Kconfig.debug    2006-08-12 08:17:55.000000000 
-0400
++++ linux-2.6.17.11/arch/i386/Kconfig.debug    2006-09-01 16:20:28.000000000 
-0400
 @@ -53,7 +53,7 @@ config DEBUG_PAGEALLOC
  
  config DEBUG_RODATA
@@ -330,7 +330,7 @@
          in order to catch accidental (and incorrect) writes to such const
 diff -urNp linux-2.6.17.11/arch/i386/kernel/acpi/sleep.c 
linux-2.6.17.11/arch/i386/kernel/acpi/sleep.c
 --- linux-2.6.17.11/arch/i386/kernel/acpi/sleep.c      2006-08-07 
00:18:54.000000000 -0400
-+++ linux-2.6.17.11/arch/i386/kernel/acpi/sleep.c      2006-08-12 
08:17:55.000000000 -0400
++++ linux-2.6.17.11/arch/i386/kernel/acpi/sleep.c      2006-09-01 
16:20:28.000000000 -0400
 @@ -10,6 +10,7 @@
  #include <linux/dmi.h>
  #include <asm/smp.h>
@@ -383,7 +383,7 @@
  /**
 diff -urNp linux-2.6.17.11/arch/i386/kernel/alternative.c 
linux-2.6.17.11/arch/i386/kernel/alternative.c
 --- linux-2.6.17.11/arch/i386/kernel/alternative.c     2006-08-07 
00:18:54.000000000 -0400
-+++ linux-2.6.17.11/arch/i386/kernel/alternative.c     2006-08-12 
08:17:55.000000000 -0400
++++ linux-2.6.17.11/arch/i386/kernel/alternative.c     2006-09-01 
16:20:28.000000000 -0400
 @@ -3,6 +3,7 @@
  #include <linux/list.h>
  #include <asm/alternative.h>
@@ -537,7 +537,7 @@
  struct smp_alt_module {
 diff -urNp linux-2.6.17.11/arch/i386/kernel/apic.c 
linux-2.6.17.11/arch/i386/kernel/apic.c
 --- linux-2.6.17.11/arch/i386/kernel/apic.c    2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/i386/kernel/apic.c    2006-08-12 08:17:55.000000000 
-0400
++++ linux-2.6.17.11/arch/i386/kernel/apic.c    2006-09-01 16:20:28.000000000 
-0400
 @@ -1176,7 +1176,7 @@ inline void smp_local_timer_interrupt(st
  {
        profile_tick(CPU_PROFILING, regs);
@@ -549,7 +549,7 @@
        /*
 diff -urNp linux-2.6.17.11/arch/i386/kernel/apm.c 
linux-2.6.17.11/arch/i386/kernel/apm.c
 --- linux-2.6.17.11/arch/i386/kernel/apm.c     2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/i386/kernel/apm.c     2006-08-12 08:17:55.000000000 
-0400
++++ linux-2.6.17.11/arch/i386/kernel/apm.c     2006-09-01 16:20:28.000000000 
-0400
 @@ -235,7 +235,7 @@
  #include "io_ports.h"
  
@@ -632,7 +632,7 @@
                0xbc, 0x00, 0xf0,       /* movw  $0xf000,sp  */
 diff -urNp linux-2.6.17.11/arch/i386/kernel/asm-offsets.c 
linux-2.6.17.11/arch/i386/kernel/asm-offsets.c
 --- linux-2.6.17.11/arch/i386/kernel/asm-offsets.c     2006-08-07 
00:18:54.000000000 -0400
-+++ linux-2.6.17.11/arch/i386/kernel/asm-offsets.c     2006-08-12 
08:17:55.000000000 -0400
++++ linux-2.6.17.11/arch/i386/kernel/asm-offsets.c     2006-09-01 
16:20:28.000000000 -0400
 @@ -68,5 +68,6 @@ void foo(void)
                 sizeof(struct tss_struct));
  
@@ -642,7 +642,7 @@
  }
 diff -urNp linux-2.6.17.11/arch/i386/kernel/cpu/common.c 
linux-2.6.17.11/arch/i386/kernel/cpu/common.c
 --- linux-2.6.17.11/arch/i386/kernel/cpu/common.c      2006-08-07 
00:18:54.000000000 -0400
-+++ linux-2.6.17.11/arch/i386/kernel/cpu/common.c      2006-08-12 
08:17:55.000000000 -0400
++++ linux-2.6.17.11/arch/i386/kernel/cpu/common.c      2006-09-01 
16:20:28.000000000 -0400
 @@ -4,7 +4,6 @@
  #include <linux/smp.h>
  #include <linux/module.h>
@@ -753,7 +753,7 @@
        set_debugreg(0, 0);
 diff -urNp linux-2.6.17.11/arch/i386/kernel/crash.c 
linux-2.6.17.11/arch/i386/kernel/crash.c
 --- linux-2.6.17.11/arch/i386/kernel/crash.c   2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/i386/kernel/crash.c   2006-08-12 08:17:55.000000000 
-0400
++++ linux-2.6.17.11/arch/i386/kernel/crash.c   2006-09-01 16:20:28.000000000 
-0400
 @@ -105,7 +105,7 @@ static int crash_nmi_callback(struct pt_
                return 1;
        local_irq_disable();
@@ -765,7 +765,7 @@
        }
 diff -urNp linux-2.6.17.11/arch/i386/kernel/doublefault.c 
linux-2.6.17.11/arch/i386/kernel/doublefault.c
 --- linux-2.6.17.11/arch/i386/kernel/doublefault.c     2006-08-07 
00:18:54.000000000 -0400
-+++ linux-2.6.17.11/arch/i386/kernel/doublefault.c     2006-08-12 
08:17:55.000000000 -0400
++++ linux-2.6.17.11/arch/i386/kernel/doublefault.c     2006-09-01 
16:20:28.000000000 -0400
 @@ -11,7 +11,7 @@
  
  #define DOUBLEFAULT_STACKSIZE (1024)
@@ -790,7 +790,7 @@
  };
 diff -urNp linux-2.6.17.11/arch/i386/kernel/efi.c 
linux-2.6.17.11/arch/i386/kernel/efi.c
 --- linux-2.6.17.11/arch/i386/kernel/efi.c     2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/i386/kernel/efi.c     2006-08-12 08:17:55.000000000 
-0400
++++ linux-2.6.17.11/arch/i386/kernel/efi.c     2006-09-01 16:20:28.000000000 
-0400
 @@ -64,82 +64,43 @@ extern void * boot_ioremap(unsigned long
  
  static unsigned long efi_rt_eflags;
@@ -899,7 +899,7 @@
        efi_status_t status;
 diff -urNp linux-2.6.17.11/arch/i386/kernel/efi_stub.S 
linux-2.6.17.11/arch/i386/kernel/efi_stub.S
 --- linux-2.6.17.11/arch/i386/kernel/efi_stub.S        2006-08-07 
00:18:54.000000000 -0400
-+++ linux-2.6.17.11/arch/i386/kernel/efi_stub.S        2006-08-12 
08:17:55.000000000 -0400
++++ linux-2.6.17.11/arch/i386/kernel/efi_stub.S        2006-09-01 
16:20:28.000000000 -0400
 @@ -7,6 +7,7 @@
  
  #include <linux/config.h>
@@ -1004,7 +1004,7 @@
  efi_rt_function_ptr:
 diff -urNp linux-2.6.17.11/arch/i386/kernel/entry.S 
linux-2.6.17.11/arch/i386/kernel/entry.S
 --- linux-2.6.17.11/arch/i386/kernel/entry.S   2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/i386/kernel/entry.S   2006-08-12 08:17:55.000000000 
-0400
++++ linux-2.6.17.11/arch/i386/kernel/entry.S   2006-09-01 16:20:28.000000000 
-0400
 @@ -82,7 +82,7 @@ VM_MASK              = 0x00020000
  #define resume_kernel         restore_nocheck
  #endif
@@ -1200,7 +1200,7 @@
  syscall_table_size=(.-sys_call_table)
 diff -urNp linux-2.6.17.11/arch/i386/kernel/head.S 
linux-2.6.17.11/arch/i386/kernel/head.S
 --- linux-2.6.17.11/arch/i386/kernel/head.S    2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/i386/kernel/head.S    2006-08-12 08:17:55.000000000 
-0400
++++ linux-2.6.17.11/arch/i386/kernel/head.S    2006-09-01 16:20:31.000000000 
-0400
 @@ -46,6 +46,16 @@
   */
  #define INIT_MAP_BEYOND_END   (128*1024)
@@ -1379,44 +1379,18 @@
        movl %eax,%ds
        movl %eax,%es
  
-@@ -378,13 +426,35 @@ rp_sidt:
-       addl $8,%edi
-       dec %ecx
-       jne rp_sidt
-+
-+      lea ignore_int_error_code,%edx
-+      movw %dx,%ax            /* selector = 0x0010 = cs */
-+      movw $0x8E00,%dx        /* interrupt gate - dpl=0, present */
-+
-+      lea idt_table,%edi
-+      movl %eax,8*8(%edi)
-+      movl %edx,8*8+4(%edi)
-+      movl %eax,10*8(%edi)
-+      movl %edx,10*8+4(%edi)
-+      movl %eax,11*8(%edi)
-+      movl %edx,11*8+4(%edi)
-+      movl %eax,12*8(%edi)
-+      movl %edx,12*8+4(%edi)
-+      movl %eax,13*8(%edi)
-+      movl %edx,13*8+4(%edi)
-+      movl %eax,14*8(%edi)
-+      movl %edx,14*8+4(%edi)
-+      movl %eax,17*8(%edi)
-+      movl %edx,17*8+4(%edi)
-       ret
- 
+@@ -383,63 +431,71 @@ rp_sidt:
  /* This is the default interrupt "handler" :-) */
        ALIGN
-+ignore_int_error_code:
-+      addl $4,%esp
  ignore_int:
 -      cld
  #ifdef CONFIG_PRINTK
+-      pushl %eax
+-      pushl %ecx
+-      pushl %edx
+-      pushl %es
+-      pushl %ds
 +      cld
-       pushl %eax
-       pushl %ecx
-       pushl %edx
-@@ -393,17 +463,16 @@ ignore_int:
        movl $(__KERNEL_DS),%eax
        movl %eax,%ds
        movl %eax,%es
@@ -1424,9 +1398,10 @@
 -      pushl 24(%esp)
 -      pushl 32(%esp)
 -      pushl 40(%esp)
-+      pushl 28(%esp)
-+      pushl 28(%esp)
-+      pushl 28(%esp)
++      pushl 12(%esp)
++      pushl 12(%esp)
++      pushl 12(%esp)
++      pushl 12(%esp)
        pushl $int_msg
  #ifdef CONFIG_EARLY_PRINTK
        call early_printk
@@ -1434,13 +1409,15 @@
        call printk
  #endif
 -      addl $(5*4),%esp
-+      addl $(4*4),%esp
-       popl %ds
-       popl %es
-       popl %edx
-@@ -412,32 +481,50 @@ ignore_int:
+-      popl %ds
+-      popl %es
+-      popl %edx
+-      popl %ecx
+-      popl %eax
  #endif
-       iret
+-      iret
++1:    hlt
++      jmp 1b
  
 -/*
 - * Real beginning of normal "text" segment
@@ -1503,9 +1480,12 @@
 -ready:        .byte 0
 -
  int_msg:
-       .asciz "Unknown interrupt or fault at EIP %p %p %p\n"
+-      .asciz "Unknown interrupt or fault at EIP %p %p %p\n"
++      .asciz "Unknown interrupt, stack: %p %p %p %p\n"
  
-@@ -465,10 +552,12 @@ idt_descr:
+ /*
+  * The IDT and GDT 'descriptors' are a strange 48-bit object
+@@ -465,10 +521,12 @@ idt_descr:
  
  # boot GDT descriptor (later on used by CPU#0):
        .word 0                         # 32 bit align gdt_desc.address
@@ -1519,7 +1499,7 @@
  /*
   * The boot_gdt_table must mirror the equivalent in setup.S and is
   * used only for booting.
-@@ -476,13 +565,13 @@ cpu_gdt_descr:
+@@ -476,13 +534,13 @@ cpu_gdt_descr:
        .align L1_CACHE_BYTES
  ENTRY(boot_gdt_table)
        .fill GDT_ENTRY_BOOT_CS,8,0
@@ -1536,7 +1516,7 @@
  ENTRY(cpu_gdt_table)
        .quad 0x0000000000000000        /* NULL descriptor */
        .quad 0x0000000000000000        /* 0x0b reserved */
-@@ -497,10 +586,10 @@ ENTRY(cpu_gdt_table)
+@@ -497,10 +555,10 @@ ENTRY(cpu_gdt_table)
        .quad 0x0000000000000000        /* 0x53 reserved */
        .quad 0x0000000000000000        /* 0x5b reserved */
  
@@ -1551,7 +1531,7 @@
  
        .quad 0x0000000000000000        /* 0x80 TSS descriptor */
        .quad 0x0000000000000000        /* 0x88 LDT descriptor */
-@@ -510,24 +599,30 @@ ENTRY(cpu_gdt_table)
+@@ -510,24 +568,30 @@ ENTRY(cpu_gdt_table)
         * They code segments and data segments have fixed 64k limits,
         * the transfer segment sizes are set at run time.
         */
@@ -1593,7 +1573,7 @@
 +#endif
 diff -urNp linux-2.6.17.11/arch/i386/kernel/i386_ksyms.c 
linux-2.6.17.11/arch/i386/kernel/i386_ksyms.c
 --- linux-2.6.17.11/arch/i386/kernel/i386_ksyms.c      2006-08-07 
00:18:54.000000000 -0400
-+++ linux-2.6.17.11/arch/i386/kernel/i386_ksyms.c      2006-08-12 
08:17:55.000000000 -0400
++++ linux-2.6.17.11/arch/i386/kernel/i386_ksyms.c      2006-09-01 
16:20:28.000000000 -0400
 @@ -3,12 +3,16 @@
  #include <asm/checksum.h>
  #include <asm/desc.h>
@@ -1613,7 +1593,7 @@
  EXPORT_SYMBOL(__get_user_2);
 diff -urNp linux-2.6.17.11/arch/i386/kernel/init_task.c 
linux-2.6.17.11/arch/i386/kernel/init_task.c
 --- linux-2.6.17.11/arch/i386/kernel/init_task.c       2006-08-07 
00:18:54.000000000 -0400
-+++ linux-2.6.17.11/arch/i386/kernel/init_task.c       2006-08-12 
08:17:55.000000000 -0400
++++ linux-2.6.17.11/arch/i386/kernel/init_task.c       2006-09-01 
16:20:28.000000000 -0400
 @@ -42,5 +42,5 @@ EXPORT_SYMBOL(init_task);
   * per-CPU TSS segments. Threads are completely 'soft' on Linux,
   * no more per-task TSS's.
@@ -1623,7 +1603,7 @@
  
 diff -urNp linux-2.6.17.11/arch/i386/kernel/ioport.c 
linux-2.6.17.11/arch/i386/kernel/ioport.c
 --- linux-2.6.17.11/arch/i386/kernel/ioport.c  2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/i386/kernel/ioport.c  2006-08-12 08:17:55.000000000 
-0400
++++ linux-2.6.17.11/arch/i386/kernel/ioport.c  2006-09-01 16:20:28.000000000 
-0400
 @@ -16,6 +16,7 @@
  #include <linux/stddef.h>
  #include <linux/slab.h>
@@ -1675,7 +1655,7 @@
        regs->eflags = (regs->eflags & ~X86_EFLAGS_IOPL) | t->iopl;
 diff -urNp linux-2.6.17.11/arch/i386/kernel/irq.c 
linux-2.6.17.11/arch/i386/kernel/irq.c
 --- linux-2.6.17.11/arch/i386/kernel/irq.c     2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/i386/kernel/irq.c     2006-08-12 08:17:55.000000000 
-0400
++++ linux-2.6.17.11/arch/i386/kernel/irq.c     2006-09-01 16:20:28.000000000 
-0400
 @@ -91,7 +91,7 @@ fastcall unsigned int do_IRQ(struct pt_r
                int arg1, arg2, ebx;
  
@@ -1709,7 +1689,7 @@
                        "       xchgl   %%ebx,%%esp     \n"
 diff -urNp linux-2.6.17.11/arch/i386/kernel/ldt.c 
linux-2.6.17.11/arch/i386/kernel/ldt.c
 --- linux-2.6.17.11/arch/i386/kernel/ldt.c     2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/i386/kernel/ldt.c     2006-08-12 08:17:55.000000000 
-0400
++++ linux-2.6.17.11/arch/i386/kernel/ldt.c     2006-09-01 16:20:28.000000000 
-0400
 @@ -103,6 +103,19 @@ int init_new_context(struct task_struct 
                retval = copy_ldt(&mm->context, &old_mm->context);
                up(&old_mm->context.sem);
@@ -1755,7 +1735,7 @@
        if (oldmode)
 diff -urNp linux-2.6.17.11/arch/i386/kernel/module.c 
linux-2.6.17.11/arch/i386/kernel/module.c
 --- linux-2.6.17.11/arch/i386/kernel/module.c  2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/i386/kernel/module.c  2006-08-12 08:17:55.000000000 
-0400
++++ linux-2.6.17.11/arch/i386/kernel/module.c  2006-09-01 16:20:28.000000000 
-0400
 @@ -21,6 +21,7 @@
  #include <linux/fs.h>
  #include <linux/string.h>
@@ -1877,7 +1857,7 @@
                        printk(KERN_ERR "module %s: Unknown relocation: %u\n",
 diff -urNp linux-2.6.17.11/arch/i386/kernel/process.c 
linux-2.6.17.11/arch/i386/kernel/process.c
 --- linux-2.6.17.11/arch/i386/kernel/process.c 2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/i386/kernel/process.c 2006-08-12 08:17:55.000000000 
-0400
++++ linux-2.6.17.11/arch/i386/kernel/process.c 2006-09-01 16:20:28.000000000 
-0400
 @@ -69,7 +69,7 @@ EXPORT_SYMBOL(boot_option_idle_override)
   */
  unsigned long thread_saved_pc(struct task_struct *tsk)
@@ -1887,8 +1867,8 @@
  }
  
  /*
-@@ -294,7 +294,7 @@ void show_regs(struct pt_regs * regs)
-       printk("EIP: %04x:[<%08lx>] CPU: %d\n",0xffff & regs->xcs,regs->eip, 
smp_processor_id());
+@@ -296,7 +296,7 @@ void show_regs(struct pt_regs * regs)
+               0xffff & regs->xcs,regs->eip, smp_processor_id());
        print_symbol("EIP is at %s\n", regs->eip);
  
 -      if (user_mode_vm(regs))
@@ -1896,7 +1876,7 @@
                printk(" ESP: %04x:%08lx",0xffff & regs->xss,regs->esp);
        printk(" EFLAGS: %08lx    %s  (%s %.*s)\n",
               regs->eflags, print_tainted(), system_utsname.release,
-@@ -343,8 +343,8 @@ int kernel_thread(int (*fn)(void *), voi
+@@ -345,8 +345,8 @@ int kernel_thread(int (*fn)(void *), voi
        regs.ebx = (unsigned long) fn;
        regs.edx = (unsigned long) arg;
  
@@ -1907,7 +1887,7 @@
        regs.orig_eax = -1;
        regs.eip = (unsigned long) kernel_thread_helper;
        regs.xcs = __KERNEL_CS;
-@@ -366,7 +366,7 @@ void exit_thread(void)
+@@ -369,7 +369,7 @@ void exit_thread(void)
        /* The process may have allocated an io port bitmap... nuke it. */
        if (unlikely(NULL != t->io_bitmap_ptr)) {
                int cpu = get_cpu();
@@ -1916,7 +1896,7 @@
  
                kfree(t->io_bitmap_ptr);
                t->io_bitmap_ptr = NULL;
-@@ -386,6 +386,9 @@ void flush_thread(void)
+@@ -389,6 +389,9 @@ void flush_thread(void)
  {
        struct task_struct *tsk = current;
  
@@ -1926,7 +1906,7 @@
        memset(tsk->thread.debugreg, 0, sizeof(unsigned long)*8);
        memset(tsk->thread.tls_array, 0, sizeof(tsk->thread.tls_array));        
        /*
-@@ -418,7 +421,7 @@ int copy_thread(int nr, unsigned long cl
+@@ -421,7 +424,7 @@ int copy_thread(int nr, unsigned long cl
        struct task_struct *tsk;
        int err;
  
@@ -1935,7 +1915,7 @@
        *childregs = *regs;
        childregs->eax = 0;
        childregs->esp = esp;
-@@ -461,6 +464,11 @@ int copy_thread(int nr, unsigned long cl
+@@ -464,6 +467,11 @@ int copy_thread(int nr, unsigned long cl
                if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX)
                        goto out;
  
@@ -1947,7 +1927,7 @@
                desc = p->thread.tls_array + idx - GDT_ENTRY_TLS_MIN;
                desc->a = LDT_entry_a(&info);
                desc->b = LDT_entry_b(&info);
-@@ -625,7 +633,11 @@ struct task_struct fastcall * __switch_t
+@@ -628,7 +636,11 @@ struct task_struct fastcall * __switch_t
        struct thread_struct *prev = &prev_p->thread,
                                 *next = &next_p->thread;
        int cpu = smp_processor_id();
@@ -1960,7 +1940,7 @@
  
        /* never put a printk in __switch_to... printk() calls wake_up*() 
indirectly */
  
-@@ -648,11 +660,23 @@ struct task_struct fastcall * __switch_t
+@@ -651,11 +663,23 @@ struct task_struct fastcall * __switch_t
        savesegment(fs, prev->fs);
        savesegment(gs, prev->gs);
  
@@ -1984,7 +1964,7 @@
        /*
         * Restore %fs and %gs if needed.
         *
-@@ -806,8 +830,18 @@ asmlinkage int sys_set_thread_area(struc
+@@ -809,8 +833,18 @@ asmlinkage int sys_set_thread_area(struc
        struct desc_struct *desc;
        int cpu, idx;
  
@@ -2003,7 +1983,7 @@
        idx = info.entry_number;
  
        /*
-@@ -839,8 +873,17 @@ asmlinkage int sys_set_thread_area(struc
+@@ -842,8 +876,17 @@ asmlinkage int sys_set_thread_area(struc
                desc->a = LDT_entry_a(&info);
                desc->b = LDT_entry_b(&info);
        }
@@ -2021,7 +2001,7 @@
        put_cpu();
  
        return 0;
-@@ -896,9 +939,27 @@ asmlinkage int sys_get_thread_area(struc
+@@ -899,9 +942,27 @@ asmlinkage int sys_get_thread_area(struc
        return 0;
  }
  
@@ -2055,7 +2035,7 @@
 +#endif
 diff -urNp linux-2.6.17.11/arch/i386/kernel/ptrace.c 
linux-2.6.17.11/arch/i386/kernel/ptrace.c
 --- linux-2.6.17.11/arch/i386/kernel/ptrace.c  2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/i386/kernel/ptrace.c  2006-08-12 08:17:55.000000000 
-0400
++++ linux-2.6.17.11/arch/i386/kernel/ptrace.c  2006-09-01 16:20:28.000000000 
-0400
 @@ -17,6 +17,7 @@
  #include <linux/audit.h>
  #include <linux/seccomp.h>
@@ -2105,7 +2085,7 @@
        force_sig_info(SIGTRAP, &info, tsk);
 diff -urNp linux-2.6.17.11/arch/i386/kernel/reboot.c 
linux-2.6.17.11/arch/i386/kernel/reboot.c
 --- linux-2.6.17.11/arch/i386/kernel/reboot.c  2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/i386/kernel/reboot.c  2006-08-12 08:17:55.000000000 
-0400
++++ linux-2.6.17.11/arch/i386/kernel/reboot.c  2006-09-01 16:20:28.000000000 
-0400
 @@ -25,7 +25,7 @@
  void (*pm_power_off)(void);
  EXPORT_SYMBOL(pm_power_off);
@@ -2223,7 +2203,7 @@
                        mach_reboot();
 diff -urNp linux-2.6.17.11/arch/i386/kernel/setup.c 
linux-2.6.17.11/arch/i386/kernel/setup.c
 --- linux-2.6.17.11/arch/i386/kernel/setup.c   2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/i386/kernel/setup.c   2006-08-12 08:17:55.000000000 
-0400
++++ linux-2.6.17.11/arch/i386/kernel/setup.c   2006-09-01 16:20:28.000000000 
-0400
 @@ -88,7 +88,11 @@ struct cpuinfo_x86 new_cpu_data __initda
  struct cpuinfo_x86 boot_cpu_data __read_mostly = { 0, 0, 0, 0, -1, 1, 0, 0, 
-1 };
  EXPORT_SYMBOL(boot_cpu_data);
@@ -2258,7 +2238,7 @@
        parse_cmdline_early(cmdline_p);
 diff -urNp linux-2.6.17.11/arch/i386/kernel/signal.c 
linux-2.6.17.11/arch/i386/kernel/signal.c
 --- linux-2.6.17.11/arch/i386/kernel/signal.c  2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/i386/kernel/signal.c  2006-08-12 08:17:55.000000000 
-0400
++++ linux-2.6.17.11/arch/i386/kernel/signal.c  2006-09-01 16:20:28.000000000 
-0400
 @@ -351,7 +351,17 @@ static int setup_frame(int sig, struct k
                        goto give_sigsegv;
        }
@@ -2307,7 +2287,7 @@
        if (test_thread_flag(TIF_RESTORE_SIGMASK))
 diff -urNp linux-2.6.17.11/arch/i386/kernel/smpboot.c 
linux-2.6.17.11/arch/i386/kernel/smpboot.c
 --- linux-2.6.17.11/arch/i386/kernel/smpboot.c 2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/i386/kernel/smpboot.c 2006-08-12 08:17:55.000000000 
-0400
++++ linux-2.6.17.11/arch/i386/kernel/smpboot.c 2006-09-01 16:20:28.000000000 
-0400
 @@ -1069,7 +1069,7 @@ static int __cpuinit __smp_prepare_cpu(i
  
        /* init low mem mapping */
@@ -2319,7 +2299,7 @@
        wait_for_completion(&done);
 diff -urNp linux-2.6.17.11/arch/i386/kernel/syscall_table.S 
linux-2.6.17.11/arch/i386/kernel/syscall_table.S
 --- linux-2.6.17.11/arch/i386/kernel/syscall_table.S   2006-08-07 
00:18:54.000000000 -0400
-+++ linux-2.6.17.11/arch/i386/kernel/syscall_table.S   2006-08-12 
08:17:55.000000000 -0400
++++ linux-2.6.17.11/arch/i386/kernel/syscall_table.S   2006-09-01 
16:20:28.000000000 -0400
 @@ -1,3 +1,4 @@
 +.section .rodata,"a",@progbits
  ENTRY(sys_call_table)
@@ -2327,7 +2307,7 @@
        .long sys_exit
 diff -urNp linux-2.6.17.11/arch/i386/kernel/sysenter.c 
linux-2.6.17.11/arch/i386/kernel/sysenter.c
 --- linux-2.6.17.11/arch/i386/kernel/sysenter.c        2006-08-07 
00:18:54.000000000 -0400
-+++ linux-2.6.17.11/arch/i386/kernel/sysenter.c        2006-08-12 
08:17:55.000000000 -0400
++++ linux-2.6.17.11/arch/i386/kernel/sysenter.c        2006-09-01 
16:20:28.000000000 -0400
 @@ -24,7 +24,7 @@ extern asmlinkage void sysenter_entry(vo
  void enable_sep_cpu(void)
  {
@@ -2355,8 +2335,8 @@
  }
 diff -urNp linux-2.6.17.11/arch/i386/kernel/sys_i386.c 
linux-2.6.17.11/arch/i386/kernel/sys_i386.c
 --- linux-2.6.17.11/arch/i386/kernel/sys_i386.c        2006-08-07 
00:18:54.000000000 -0400
-+++ linux-2.6.17.11/arch/i386/kernel/sys_i386.c        2006-08-12 
08:17:55.000000000 -0400
-@@ -99,6 +99,191 @@ out:
++++ linux-2.6.17.11/arch/i386/kernel/sys_i386.c        2006-09-01 
16:20:28.000000000 -0400
+@@ -100,6 +100,191 @@ out:
        return err;
  }
  
@@ -2550,7 +2530,7 @@
        unsigned long n;
 diff -urNp linux-2.6.17.11/arch/i386/kernel/traps.c 
linux-2.6.17.11/arch/i386/kernel/traps.c
 --- linux-2.6.17.11/arch/i386/kernel/traps.c   2006-08-07 00:18:54.000000000 
-0400
-+++ linux-2.6.17.11/arch/i386/kernel/traps.c   2006-08-12 08:17:55.000000000 
-0400
++++ linux-2.6.17.11/arch/i386/kernel/traps.c   2006-09-01 16:20:31.000000000 
-0400
 @@ -28,6 +28,7 @@
  #include <linux/utsname.h>
  #include <linux/kprobes.h>
@@ -2661,11 +2641,11 @@
        if (ud2 != 0x0b0f)
                goto no_bug;
 -      if (__get_user(line, (unsigned short __user *)(eip + 2)))
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    
http://cvs.pld-linux.org/SOURCES/grsecurity-2.1.9-2.6.17.11.patch?r1=1.1&r2=1.1.2.1&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to