Author: hawk                         Date: Sun Aug 26 12:16:54 2007 GMT
Module: SOURCES                       Tag: hawk-LINUX_2_6
---- Log message:
- raw from 
http://www.grsecurity.net/~spender/grsecurity-2.1.11-2.6.22.4-200708211800.patch
  with localversion killed

---- Files affected:
SOURCES:
   linux-2.6-grsec-full.patch (1.1.2.4 -> 1.1.2.5) 

---- Diffs:

================================================================
Index: SOURCES/linux-2.6-grsec-full.patch
diff -u SOURCES/linux-2.6-grsec-full.patch:1.1.2.4 
SOURCES/linux-2.6-grsec-full.patch:1.1.2.5
--- SOURCES/linux-2.6-grsec-full.patch:1.1.2.4  Thu Aug  9 14:00:05 2007
+++ SOURCES/linux-2.6-grsec-full.patch  Sun Aug 26 14:16:49 2007
@@ -1,6 +1,6 @@
-diff -urNp linux-2.6.22.1/arch/alpha/kernel/module.c 
linux-2.6.22.1/arch/alpha/kernel/module.c
---- linux-2.6.22.1/arch/alpha/kernel/module.c  2007-07-10 14:56:30.000000000 
-0400
-+++ linux-2.6.22.1/arch/alpha/kernel/module.c  2007-08-02 11:38:45.000000000 
-0400
+diff -urNp linux-2.6.22.4/arch/alpha/kernel/module.c 
linux-2.6.22.4/arch/alpha/kernel/module.c
+--- linux-2.6.22.4/arch/alpha/kernel/module.c  2007-08-09 17:28:15.000000000 
-0400
++++ linux-2.6.22.4/arch/alpha/kernel/module.c  2007-08-10 07:48:12.000000000 
-0400
 @@ -177,7 +177,7 @@ apply_relocate_add(Elf64_Shdr *sechdrs, 
  
        /* The small sections were sorted to the end of the segment.
@@ -10,9 +10,9 @@
        got = sechdrs[me->arch.gotsecindex].sh_addr;
  
        for (i = 0; i < n; i++) {
-diff -urNp linux-2.6.22.1/arch/alpha/kernel/osf_sys.c 
linux-2.6.22.1/arch/alpha/kernel/osf_sys.c
---- linux-2.6.22.1/arch/alpha/kernel/osf_sys.c 2007-07-10 14:56:30.000000000 
-0400
-+++ linux-2.6.22.1/arch/alpha/kernel/osf_sys.c 2007-08-02 11:38:45.000000000 
-0400
+diff -urNp linux-2.6.22.4/arch/alpha/kernel/osf_sys.c 
linux-2.6.22.4/arch/alpha/kernel/osf_sys.c
+--- linux-2.6.22.4/arch/alpha/kernel/osf_sys.c 2007-08-09 17:28:15.000000000 
-0400
++++ linux-2.6.22.4/arch/alpha/kernel/osf_sys.c 2007-08-10 07:48:12.000000000 
-0400
 @@ -1288,6 +1288,10 @@ arch_get_unmapped_area(struct file *filp
           merely specific addresses, but regions of memory -- perhaps
           this feature should be incorporated into all ports?  */
@@ -35,9 +35,9 @@
        if (addr != (unsigned long) -ENOMEM)
                return addr;
  
-diff -urNp linux-2.6.22.1/arch/alpha/kernel/ptrace.c 
linux-2.6.22.1/arch/alpha/kernel/ptrace.c
---- linux-2.6.22.1/arch/alpha/kernel/ptrace.c  2007-07-10 14:56:30.000000000 
-0400
-+++ linux-2.6.22.1/arch/alpha/kernel/ptrace.c  2007-08-02 11:09:14.000000000 
-0400
+diff -urNp linux-2.6.22.4/arch/alpha/kernel/ptrace.c 
linux-2.6.22.4/arch/alpha/kernel/ptrace.c
+--- linux-2.6.22.4/arch/alpha/kernel/ptrace.c  2007-08-09 17:28:15.000000000 
-0400
++++ linux-2.6.22.4/arch/alpha/kernel/ptrace.c  2007-08-10 07:48:12.000000000 
-0400
 @@ -15,6 +15,7 @@
  #include <linux/slab.h>
  #include <linux/security.h>
@@ -56,9 +56,9 @@
        if (request == PTRACE_ATTACH) {
                ret = ptrace_attach(child);
                goto out;
-diff -urNp linux-2.6.22.1/arch/alpha/mm/fault.c 
linux-2.6.22.1/arch/alpha/mm/fault.c
---- linux-2.6.22.1/arch/alpha/mm/fault.c       2007-07-10 14:56:30.000000000 
-0400
-+++ linux-2.6.22.1/arch/alpha/mm/fault.c       2007-08-02 11:38:45.000000000 
-0400
+diff -urNp linux-2.6.22.4/arch/alpha/mm/fault.c 
linux-2.6.22.4/arch/alpha/mm/fault.c
+--- linux-2.6.22.4/arch/alpha/mm/fault.c       2007-08-09 17:28:15.000000000 
-0400
++++ linux-2.6.22.4/arch/alpha/mm/fault.c       2007-08-10 07:48:12.000000000 
-0400
 @@ -23,6 +23,7 @@
  #include <linux/smp.h>
  #include <linux/interrupt.h>
@@ -223,9 +223,9 @@
        } else if (!cause) {
                /* Allow reads even for write-only mappings */
                if (!(vma->vm_flags & (VM_READ | VM_WRITE)))
-diff -urNp linux-2.6.22.1/arch/arm/mm/mmap.c linux-2.6.22.1/arch/arm/mm/mmap.c
---- linux-2.6.22.1/arch/arm/mm/mmap.c  2007-07-10 14:56:30.000000000 -0400
-+++ linux-2.6.22.1/arch/arm/mm/mmap.c  2007-08-02 11:38:45.000000000 -0400
+diff -urNp linux-2.6.22.4/arch/arm/mm/mmap.c linux-2.6.22.4/arch/arm/mm/mmap.c
+--- linux-2.6.22.4/arch/arm/mm/mmap.c  2007-08-09 17:28:15.000000000 -0400
++++ linux-2.6.22.4/arch/arm/mm/mmap.c  2007-08-10 07:48:12.000000000 -0400
 @@ -60,6 +60,10 @@ arch_get_unmapped_area(struct file *filp
        if (len > TASK_SIZE)
                return -ENOMEM;
@@ -262,9 +262,9 @@
                                mm->cached_hole_size = 0;
                                goto full_search;
                        }
-diff -urNp linux-2.6.22.1/arch/avr32/mm/fault.c 
linux-2.6.22.1/arch/avr32/mm/fault.c
---- linux-2.6.22.1/arch/avr32/mm/fault.c       2007-07-10 14:56:30.000000000 
-0400
-+++ linux-2.6.22.1/arch/avr32/mm/fault.c       2007-08-02 11:38:45.000000000 
-0400
+diff -urNp linux-2.6.22.4/arch/avr32/mm/fault.c 
linux-2.6.22.4/arch/avr32/mm/fault.c
+--- linux-2.6.22.4/arch/avr32/mm/fault.c       2007-08-09 17:28:15.000000000 
-0400
++++ linux-2.6.22.4/arch/avr32/mm/fault.c       2007-08-10 07:48:12.000000000 
-0400
 @@ -41,6 +41,23 @@ static inline int notify_page_fault(stru
  
  int exception_trace = 1;
@@ -306,9 +306,9 @@
                if (exception_trace && printk_ratelimit())
                        printk("%s%s[%d]: segfault at %08lx pc %08lx "
                               "sp %08lx ecr %lu\n",
-diff -urNp linux-2.6.22.1/arch/i386/boot/setup.S 
linux-2.6.22.1/arch/i386/boot/setup.S
---- linux-2.6.22.1/arch/i386/boot/setup.S      2007-07-10 14:56:30.000000000 
-0400
-+++ linux-2.6.22.1/arch/i386/boot/setup.S      2007-08-02 11:38:45.000000000 
-0400
+diff -urNp linux-2.6.22.4/arch/i386/boot/setup.S 
linux-2.6.22.4/arch/i386/boot/setup.S
+--- linux-2.6.22.4/arch/i386/boot/setup.S      2007-08-09 17:28:15.000000000 
-0400
++++ linux-2.6.22.4/arch/i386/boot/setup.S      2007-08-10 07:48:12.000000000 
-0400
 @@ -893,11 +893,13 @@ startup_32:
        movl %eax, %gs
        movl %eax, %ss
@@ -323,9 +323,28 @@
  
        # Jump to the 32bit entry point
        jmpl *(code32_start - start + (DELTA_INITSEG << 4))(%esi)
-diff -urNp linux-2.6.22.1/arch/i386/Kconfig linux-2.6.22.1/arch/i386/Kconfig
---- linux-2.6.22.1/arch/i386/Kconfig   2007-07-10 14:56:30.000000000 -0400
-+++ linux-2.6.22.1/arch/i386/Kconfig   2007-08-03 12:36:16.000000000 -0400
+diff -urNp linux-2.6.22.4/arch/i386/boot/video.S 
linux-2.6.22.4/arch/i386/boot/video.S
+--- linux-2.6.22.4/arch/i386/boot/video.S      2007-08-09 17:28:15.000000000 
-0400
++++ linux-2.6.22.4/arch/i386/boot/video.S      2007-08-21 08:51:53.000000000 
-0400
+@@ -96,6 +96,7 @@
+ #define PARAM_LFB_PAGES               0x32
+ #define PARAM_VESA_ATTRIB     0x34
+ #define PARAM_CAPABILITIES    0x36
++#define PARAM_VESAPM_SIZE     0x3a
+ 
+ /* Define DO_STORE according to CONFIG_VIDEO_RETAIN */
+ #ifdef CONFIG_VIDEO_RETAIN
+@@ -280,6 +281,7 @@ dac_done:
+ 
+       movw    %es, %fs:(PARAM_VESAPM_SEG)
+       movw    %di, %fs:(PARAM_VESAPM_OFF)
++      movw    %cx, %fs:(PARAM_VESAPM_SIZE)
+ no_pm:        ret
+ 
+ # The video mode menu
+diff -urNp linux-2.6.22.4/arch/i386/Kconfig linux-2.6.22.4/arch/i386/Kconfig
+--- linux-2.6.22.4/arch/i386/Kconfig   2007-08-09 17:28:15.000000000 -0400
++++ linux-2.6.22.4/arch/i386/Kconfig   2007-08-10 07:48:12.000000000 -0400
 @@ -586,7 +586,7 @@ config PAGE_OFFSET
        hex
        default 0xB0000000 if VMSPLIT_3G_OPT
@@ -353,9 +372,9 @@
        help
          Map the VDSO to the predictable old-style address too.
        ---help---
-diff -urNp linux-2.6.22.1/arch/i386/Kconfig.cpu 
linux-2.6.22.1/arch/i386/Kconfig.cpu
---- linux-2.6.22.1/arch/i386/Kconfig.cpu       2007-07-10 14:56:30.000000000 
-0400
-+++ linux-2.6.22.1/arch/i386/Kconfig.cpu       2007-08-02 11:38:45.000000000 
-0400
+diff -urNp linux-2.6.22.4/arch/i386/Kconfig.cpu 
linux-2.6.22.4/arch/i386/Kconfig.cpu
+--- linux-2.6.22.4/arch/i386/Kconfig.cpu       2007-08-09 17:28:15.000000000 
-0400
++++ linux-2.6.22.4/arch/i386/Kconfig.cpu       2007-08-10 07:48:12.000000000 
-0400
 @@ -274,7 +274,7 @@ config X86_PPRO_FENCE
  
  config X86_F00F_BUG
@@ -374,9 +393,9 @@
        default y
  
  config X86_GOOD_APIC
-diff -urNp linux-2.6.22.1/arch/i386/Kconfig.debug 
linux-2.6.22.1/arch/i386/Kconfig.debug
---- linux-2.6.22.1/arch/i386/Kconfig.debug     2007-07-10 14:56:30.000000000 
-0400
-+++ linux-2.6.22.1/arch/i386/Kconfig.debug     2007-08-02 11:38:45.000000000 
-0400
+diff -urNp linux-2.6.22.4/arch/i386/Kconfig.debug 
linux-2.6.22.4/arch/i386/Kconfig.debug
+--- linux-2.6.22.4/arch/i386/Kconfig.debug     2007-08-09 17:28:15.000000000 
-0400
++++ linux-2.6.22.4/arch/i386/Kconfig.debug     2007-08-10 07:48:12.000000000 
-0400
 @@ -48,7 +48,7 @@ config DEBUG_PAGEALLOC
  
  config DEBUG_RODATA
@@ -386,9 +405,9 @@
        help
          Mark the kernel read-only data as write-protected in the pagetables,
          in order to catch accidental (and incorrect) writes to such const
-diff -urNp linux-2.6.22.1/arch/i386/kernel/acpi/boot.c 
linux-2.6.22.1/arch/i386/kernel/acpi/boot.c
---- linux-2.6.22.1/arch/i386/kernel/acpi/boot.c        2007-07-10 
14:56:30.000000000 -0400
-+++ linux-2.6.22.1/arch/i386/kernel/acpi/boot.c        2007-08-02 
11:38:45.000000000 -0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/acpi/boot.c 
linux-2.6.22.4/arch/i386/kernel/acpi/boot.c
+--- linux-2.6.22.4/arch/i386/kernel/acpi/boot.c        2007-08-09 
17:28:15.000000000 -0400
++++ linux-2.6.22.4/arch/i386/kernel/acpi/boot.c        2007-08-10 
07:48:12.000000000 -0400
 @@ -1095,7 +1095,7 @@ static struct dmi_system_id __initdata a
                     DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 360"),
                     },
@@ -398,9 +417,9 @@
  };
  
  #endif                                /* __i386__ */
-diff -urNp linux-2.6.22.1/arch/i386/kernel/acpi/sleep.c 
linux-2.6.22.1/arch/i386/kernel/acpi/sleep.c
---- linux-2.6.22.1/arch/i386/kernel/acpi/sleep.c       2007-07-10 
14:56:30.000000000 -0400
-+++ linux-2.6.22.1/arch/i386/kernel/acpi/sleep.c       2007-08-02 
11:38:45.000000000 -0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/acpi/sleep.c 
linux-2.6.22.4/arch/i386/kernel/acpi/sleep.c
+--- linux-2.6.22.4/arch/i386/kernel/acpi/sleep.c       2007-08-09 
17:28:15.000000000 -0400
++++ linux-2.6.22.4/arch/i386/kernel/acpi/sleep.c       2007-08-10 
07:48:12.000000000 -0400
 @@ -94,7 +94,7 @@ static __initdata struct dmi_system_id a
                     DMI_MATCH(DMI_PRODUCT_NAME, "S4030CDT/4.3"),
                     },
@@ -410,9 +429,9 @@
  };
  
  static int __init acpisleep_dmi_init(void)
-diff -urNp linux-2.6.22.1/arch/i386/kernel/acpi/wakeup.S 
linux-2.6.22.1/arch/i386/kernel/acpi/wakeup.S
---- linux-2.6.22.1/arch/i386/kernel/acpi/wakeup.S      2007-07-10 
14:56:30.000000000 -0400
-+++ linux-2.6.22.1/arch/i386/kernel/acpi/wakeup.S      2007-08-02 
11:38:45.000000000 -0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/acpi/wakeup.S 
linux-2.6.22.4/arch/i386/kernel/acpi/wakeup.S
+--- linux-2.6.22.4/arch/i386/kernel/acpi/wakeup.S      2007-08-09 
17:28:15.000000000 -0400
++++ linux-2.6.22.4/arch/i386/kernel/acpi/wakeup.S      2007-08-10 
07:48:12.000000000 -0400
 @@ -2,6 +2,7 @@
  #include <linux/linkage.h>
  #include <asm/segment.h>
@@ -455,9 +474,9 @@
        rdmsr
        movl    %edx, real_save_efer_edx - wakeup_start (%ebx)
        movl    %eax, real_save_efer_eax - wakeup_start (%ebx)
-diff -urNp linux-2.6.22.1/arch/i386/kernel/alternative.c 
linux-2.6.22.1/arch/i386/kernel/alternative.c
---- linux-2.6.22.1/arch/i386/kernel/alternative.c      2007-07-10 
14:56:30.000000000 -0400
-+++ linux-2.6.22.1/arch/i386/kernel/alternative.c      2007-08-02 
11:38:45.000000000 -0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/alternative.c 
linux-2.6.22.4/arch/i386/kernel/alternative.c
+--- linux-2.6.22.4/arch/i386/kernel/alternative.c      2007-08-09 
17:28:15.000000000 -0400
++++ linux-2.6.22.4/arch/i386/kernel/alternative.c      2007-08-21 
08:51:53.000000000 -0400
 @@ -4,6 +4,7 @@
  #include <linux/list.h>
  #include <asm/alternative.h>
@@ -486,7 +505,7 @@
  #ifdef CONFIG_X86_64
                /* vsyscall code is not mapped yet. resolve it manually. */
                if (instr >= (u8 *)VSYSCALL_START && instr < (u8*)VSYSCALL_END) 
{
-@@ -183,37 +190,68 @@ void apply_alternatives(struct alt_instr
+@@ -183,6 +190,11 @@ void apply_alternatives(struct alt_instr
                diff = a->instrlen - a->replacementlen;
                nop_out(instr + a->replacementlen, diff);
        }
@@ -498,30 +517,25 @@
  }
  
  #ifdef CONFIG_SMP
- 
- static void alternatives_smp_lock(u8 **start, u8 **end, u8 *text, u8 
*text_end)
+@@ -191,29 +203,53 @@ static void alternatives_smp_lock(u8 **s
  {
--      u8 **ptr;
-+      u8 *ptr;
-+
+       u8 **ptr;
+ 
 +#ifdef CONFIG_PAX_KERNEXEC
 +      unsigned long cr0;
- 
--      for (ptr = start; ptr < end; ptr++) {
--              if (*ptr < text)
++
 +      pax_open_kernel(cr0);
 +#endif
 +
-+      for (; start < end; start++) {
-+              ptr = *start + __KERNEL_TEXT_OFFSET;
-+              if (ptr < text)
+       for (ptr = start; ptr < end; ptr++) {
+               if (*ptr < text)
                        continue;
--              if (*ptr > text_end)
-+              if (ptr > text_end)
+               if (*ptr > text_end)
                        continue;
 -              **ptr = 0xf0; /* lock prefix */
-+              *ptr = 0xf0; /* lock prefix */
-       };
+-      };
++              *(*ptr + __KERNEL_TEXT_OFFSET) = 0xf0; /* lock prefix */
++      }
 +
 +#ifdef CONFIG_PAX_KERNEXEC
 +      pax_close_kernel(cr0);
@@ -531,32 +545,28 @@
  
  static void alternatives_smp_unlock(u8 **start, u8 **end, u8 *text, u8 
*text_end)
  {
--      u8 **ptr;
-+      u8 *ptr;
-+
+       u8 **ptr;
+ 
 +#ifdef CONFIG_PAX_KERNEXEC
 +      unsigned long cr0;
 +#endif
- 
++
        if (noreplace_smp)
                return;
  
--      for (ptr = start; ptr < end; ptr++) {
--              if (*ptr < text)
 +#ifdef CONFIG_PAX_KERNEXEC
 +      pax_open_kernel(cr0);
 +#endif
 +
-+      for (; start < end; start++) {
-+              ptr = *start + __KERNEL_TEXT_OFFSET;
-+              if (ptr < text)
+       for (ptr = start; ptr < end; ptr++) {
+               if (*ptr < text)
                        continue;
--              if (*ptr > text_end)
-+              if (ptr > text_end)
+               if (*ptr > text_end)
                        continue;
 -              nop_out(*ptr, 1);
-+              nop_out(ptr, 1);
-       };
+-      };
++              nop_out(*ptr + __KERNEL_TEXT_OFFSET, 1);
++      }
 +
 +#ifdef CONFIG_PAX_KERNEXEC
 +      pax_close_kernel(cr0);
@@ -565,7 +575,7 @@
  }
  
  struct smp_alt_module {
-@@ -340,21 +378,34 @@ void apply_paravirt(struct paravirt_patc
+@@ -340,21 +376,34 @@ void apply_paravirt(struct paravirt_patc
  {
        struct paravirt_patch_site *p;
  
@@ -602,9 +612,9 @@
        /* Sync to be conservative, in case we patched following
         * instructions */
        sync_core();
-diff -urNp linux-2.6.22.1/arch/i386/kernel/apm.c 
linux-2.6.22.1/arch/i386/kernel/apm.c
---- linux-2.6.22.1/arch/i386/kernel/apm.c      2007-07-10 14:56:30.000000000 
-0400
-+++ linux-2.6.22.1/arch/i386/kernel/apm.c      2007-08-02 11:38:45.000000000 
-0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/apm.c 
linux-2.6.22.4/arch/i386/kernel/apm.c
+--- linux-2.6.22.4/arch/i386/kernel/apm.c      2007-08-09 17:28:15.000000000 
-0400
++++ linux-2.6.22.4/arch/i386/kernel/apm.c      2007-08-10 07:48:12.000000000 
-0400
 @@ -600,9 +600,18 @@ static u8 apm_bios_call(u32 func, u32 eb
        struct desc_struct      save_desc_40;
        struct desc_struct      *gdt;
@@ -969,9 +979,9 @@
        apm_proc = create_proc_entry("apm", 0, NULL);
        if (apm_proc)
                apm_proc->proc_fops = &apm_file_ops;
-diff -urNp linux-2.6.22.1/arch/i386/kernel/asm-offsets.c 
linux-2.6.22.1/arch/i386/kernel/asm-offsets.c
---- linux-2.6.22.1/arch/i386/kernel/asm-offsets.c      2007-07-10 
14:56:30.000000000 -0400
-+++ linux-2.6.22.1/arch/i386/kernel/asm-offsets.c      2007-08-02 
11:38:45.000000000 -0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/asm-offsets.c 
linux-2.6.22.4/arch/i386/kernel/asm-offsets.c
+--- linux-2.6.22.4/arch/i386/kernel/asm-offsets.c      2007-08-09 
17:28:15.000000000 -0400
++++ linux-2.6.22.4/arch/i386/kernel/asm-offsets.c      2007-08-10 
07:48:12.000000000 -0400
 @@ -55,6 +55,7 @@ void foo(void)
        OFFSET(TI_exec_domain, thread_info, exec_domain);
        OFFSET(TI_flags, thread_info, flags);
@@ -995,9 +1005,9 @@
 +      OFFSET(PARAVIRT_write_cr0, paravirt_ops, write_cr0);
  #endif
  }
-diff -urNp linux-2.6.22.1/arch/i386/kernel/cpu/common.c 
linux-2.6.22.1/arch/i386/kernel/cpu/common.c
---- linux-2.6.22.1/arch/i386/kernel/cpu/common.c       2007-07-10 
14:56:30.000000000 -0400
-+++ linux-2.6.22.1/arch/i386/kernel/cpu/common.c       2007-08-02 
11:38:45.000000000 -0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/cpu/common.c 
linux-2.6.22.4/arch/i386/kernel/cpu/common.c
+--- linux-2.6.22.4/arch/i386/kernel/cpu/common.c       2007-08-09 
17:28:15.000000000 -0400
++++ linux-2.6.22.4/arch/i386/kernel/cpu/common.c       2007-08-10 
07:48:12.000000000 -0400
 @@ -4,7 +4,6 @@
  #include <linux/smp.h>
  #include <linux/module.h>
@@ -1106,10 +1116,10 @@
        struct thread_struct *thread = &curr->thread;
  
        if (cpu_test_and_set(cpu, cpu_initialized)) {
-diff -urNp linux-2.6.22.1/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c 
linux-2.6.22.1/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
---- linux-2.6.22.1/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c 2007-07-10 
14:56:30.000000000 -0400
-+++ linux-2.6.22.1/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c 2007-08-02 
11:38:45.000000000 -0400
-@@ -563,7 +563,7 @@ static struct dmi_system_id sw_any_bug_d
+diff -urNp linux-2.6.22.4/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c 
linux-2.6.22.4/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
+--- linux-2.6.22.4/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c 2007-08-09 
17:28:15.000000000 -0400
++++ linux-2.6.22.4/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c 2007-08-10 
07:48:12.000000000 -0400
+@@ -560,7 +560,7 @@ static struct dmi_system_id sw_any_bug_d
                        DMI_MATCH(DMI_PRODUCT_NAME, "X6DLP"),
                },
        },
@@ -1118,9 +1128,9 @@
  };
  #endif
  
-diff -urNp linux-2.6.22.1/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c 
linux-2.6.22.1/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c
---- linux-2.6.22.1/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c   
2007-07-10 14:56:30.000000000 -0400
-+++ linux-2.6.22.1/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c   
2007-08-02 11:38:45.000000000 -0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c 
linux-2.6.22.4/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c
+--- linux-2.6.22.4/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c   
2007-08-09 17:28:15.000000000 -0400
++++ linux-2.6.22.4/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c   
2007-08-10 07:48:12.000000000 -0400
 @@ -229,7 +229,7 @@ static struct cpu_model models[] =
        { &cpu_ids[CPU_MP4HT_D0], NULL, 0, NULL },
        { &cpu_ids[CPU_MP4HT_E0], NULL, 0, NULL },
@@ -1139,9 +1149,9 @@
  };
  #endif
  
-diff -urNp linux-2.6.22.1/arch/i386/kernel/cpu/intel_cacheinfo.c 
linux-2.6.22.1/arch/i386/kernel/cpu/intel_cacheinfo.c
---- linux-2.6.22.1/arch/i386/kernel/cpu/intel_cacheinfo.c      2007-07-10 
14:56:30.000000000 -0400
-+++ linux-2.6.22.1/arch/i386/kernel/cpu/intel_cacheinfo.c      2007-08-02 
11:38:45.000000000 -0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/cpu/intel_cacheinfo.c 
linux-2.6.22.4/arch/i386/kernel/cpu/intel_cacheinfo.c
+--- linux-2.6.22.4/arch/i386/kernel/cpu/intel_cacheinfo.c      2007-08-09 
17:28:15.000000000 -0400
++++ linux-2.6.22.4/arch/i386/kernel/cpu/intel_cacheinfo.c      2007-08-10 
07:48:12.000000000 -0400
 @@ -318,8 +318,8 @@ unsigned int __cpuinit init_intel_cachei
         */
        if ((num_cache_leaves == 0 || c->x86 == 15) && c->cpuid_level > 1) {
@@ -1162,9 +1172,9 @@
                        }
  
                        /* Byte 0 is level count, not a descriptor */
-diff -urNp linux-2.6.22.1/arch/i386/kernel/cpu/mcheck/therm_throt.c 
linux-2.6.22.1/arch/i386/kernel/cpu/mcheck/therm_throt.c
---- linux-2.6.22.1/arch/i386/kernel/cpu/mcheck/therm_throt.c   2007-07-10 
14:56:30.000000000 -0400
-+++ linux-2.6.22.1/arch/i386/kernel/cpu/mcheck/therm_throt.c   2007-08-02 
11:38:45.000000000 -0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/cpu/mcheck/therm_throt.c 
linux-2.6.22.4/arch/i386/kernel/cpu/mcheck/therm_throt.c
+--- linux-2.6.22.4/arch/i386/kernel/cpu/mcheck/therm_throt.c   2007-08-09 
17:28:15.000000000 -0400
++++ linux-2.6.22.4/arch/i386/kernel/cpu/mcheck/therm_throt.c   2007-08-10 
07:48:12.000000000 -0400
 @@ -150,7 +150,7 @@ static __cpuinit int thermal_throttle_cp
        return NOTIFY_OK;
  }
@@ -1174,9 +1184,9 @@
  {
        .notifier_call = thermal_throttle_cpu_callback,
  };
-diff -urNp linux-2.6.22.1/arch/i386/kernel/cpu/mtrr/generic.c 
linux-2.6.22.1/arch/i386/kernel/cpu/mtrr/generic.c
---- linux-2.6.22.1/arch/i386/kernel/cpu/mtrr/generic.c 2007-07-10 
14:56:30.000000000 -0400
-+++ linux-2.6.22.1/arch/i386/kernel/cpu/mtrr/generic.c 2007-08-02 
11:38:45.000000000 -0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/cpu/mtrr/generic.c 
linux-2.6.22.4/arch/i386/kernel/cpu/mtrr/generic.c
+--- linux-2.6.22.4/arch/i386/kernel/cpu/mtrr/generic.c 2007-08-09 
17:28:15.000000000 -0400
++++ linux-2.6.22.4/arch/i386/kernel/cpu/mtrr/generic.c 2007-08-10 
07:48:12.000000000 -0400
 @@ -29,11 +29,11 @@ static struct fixed_range_block fixed_ra
        { MTRRfix64K_00000_MSR, 1 }, /* one  64k MTRR  */
        { MTRRfix16K_80000_MSR, 2 }, /* two  16k MTRRs */
@@ -1200,9 +1210,9 @@
  {
        unsigned int i;
        struct mtrr_var_range *vrs;
-diff -urNp linux-2.6.22.1/arch/i386/kernel/crash.c 
linux-2.6.22.1/arch/i386/kernel/crash.c
---- linux-2.6.22.1/arch/i386/kernel/crash.c    2007-07-10 14:56:30.000000000 
-0400
-+++ linux-2.6.22.1/arch/i386/kernel/crash.c    2007-08-02 11:38:45.000000000 
-0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/crash.c 
linux-2.6.22.4/arch/i386/kernel/crash.c
+--- linux-2.6.22.4/arch/i386/kernel/crash.c    2007-08-09 17:28:15.000000000 
-0400
++++ linux-2.6.22.4/arch/i386/kernel/crash.c    2007-08-10 07:48:12.000000000 
-0400
 @@ -55,7 +55,7 @@ static int crash_nmi_callback(struct not
                return NOTIFY_STOP;
        local_irq_disable();
@@ -1212,9 +1222,9 @@
                crash_fixup_ss_esp(&fixed_regs, regs);
                regs = &fixed_regs;
        }
-diff -urNp linux-2.6.22.1/arch/i386/kernel/doublefault.c 
linux-2.6.22.1/arch/i386/kernel/doublefault.c
---- linux-2.6.22.1/arch/i386/kernel/doublefault.c      2007-07-10 
14:56:30.000000000 -0400
-+++ linux-2.6.22.1/arch/i386/kernel/doublefault.c      2007-08-02 
11:38:45.000000000 -0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/doublefault.c 
linux-2.6.22.4/arch/i386/kernel/doublefault.c
+--- linux-2.6.22.4/arch/i386/kernel/doublefault.c      2007-08-09 
17:28:15.000000000 -0400
++++ linux-2.6.22.4/arch/i386/kernel/doublefault.c      2007-08-10 
07:48:12.000000000 -0400
 @@ -11,17 +11,17 @@
  
  #define DOUBLEFAULT_STACKSIZE (1024)
@@ -1249,9 +1259,9 @@
  
                .__cr3          = __pa(swapper_pg_dir)
        }
-diff -urNp linux-2.6.22.1/arch/i386/kernel/efi.c 
linux-2.6.22.1/arch/i386/kernel/efi.c
---- linux-2.6.22.1/arch/i386/kernel/efi.c      2007-07-10 14:56:30.000000000 
-0400
-+++ linux-2.6.22.1/arch/i386/kernel/efi.c      2007-08-02 11:38:45.000000000 
-0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/efi.c 
linux-2.6.22.4/arch/i386/kernel/efi.c
+--- linux-2.6.22.4/arch/i386/kernel/efi.c      2007-08-09 17:28:15.000000000 
-0400
++++ linux-2.6.22.4/arch/i386/kernel/efi.c      2007-08-10 07:48:12.000000000 
-0400
 @@ -63,45 +63,23 @@ extern void * boot_ioremap(unsigned long
  
  static unsigned long efi_rt_eflags;
@@ -1352,9 +1362,9 @@
  phys_efi_get_time(efi_time_t *tm, efi_time_cap_t *tc)
  {
        efi_status_t status;
-diff -urNp linux-2.6.22.1/arch/i386/kernel/efi_stub.S 
linux-2.6.22.1/arch/i386/kernel/efi_stub.S
---- linux-2.6.22.1/arch/i386/kernel/efi_stub.S 2007-07-10 14:56:30.000000000 
-0400
-+++ linux-2.6.22.1/arch/i386/kernel/efi_stub.S 2007-08-02 11:38:45.000000000 
-0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/efi_stub.S 
linux-2.6.22.4/arch/i386/kernel/efi_stub.S
+--- linux-2.6.22.4/arch/i386/kernel/efi_stub.S 2007-08-09 17:28:15.000000000 
-0400
++++ linux-2.6.22.4/arch/i386/kernel/efi_stub.S 2007-08-10 07:48:12.000000000 
-0400
 @@ -6,6 +6,7 @@
   */
  
@@ -1457,9 +1467,9 @@
  saved_return_addr:
        .long 0
  efi_rt_function_ptr:
-diff -urNp linux-2.6.22.1/arch/i386/kernel/entry.S 
linux-2.6.22.1/arch/i386/kernel/entry.S
---- linux-2.6.22.1/arch/i386/kernel/entry.S    2007-07-10 14:56:30.000000000 
-0400
-+++ linux-2.6.22.1/arch/i386/kernel/entry.S    2007-08-02 11:38:45.000000000 
-0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/entry.S 
linux-2.6.22.4/arch/i386/kernel/entry.S
+--- linux-2.6.22.4/arch/i386/kernel/entry.S    2007-08-09 17:28:15.000000000 
-0400
++++ linux-2.6.22.4/arch/i386/kernel/entry.S    2007-08-21 08:51:53.000000000 
-0400
 @@ -97,7 +97,7 @@ VM_MASK              = 0x00020000
  #define resume_userspace_sig  resume_userspace
  #endif
@@ -1485,7 +1495,7 @@
 +      __SAVE_ALL(__KERNEL_DS); \
 +      GET_CR0_INTO_EDX; \
 +      movl %edx, %esi; \
-+      orl $0x10000, %edx; \
++      orl $X86_CR0_WP, %edx; \
 +      xorl %edx, %esi; \
 +      SET_CR0_FROM_EDX
 +#elif defined(CONFIG_PAX_PAGEEXEC) || defined(CONFIG_PAX_SEGMEXEC) || 
defined(CONFIG_PAX_MEMORY_UDEREF)
@@ -1649,7 +1659,7 @@
 +#ifdef CONFIG_PAX_KERNEXEC
 +      GET_CR0_INTO_EDX
 +      movl %edx, %esi
-+      orl $0x10000, %edx
++      orl $X86_CR0_WP, %edx
 +      xorl %edx, %esi
 +      SET_CR0_FROM_EDX
 +#endif
@@ -1700,9 +1710,9 @@
  #include "syscall_table.S"
  
  syscall_table_size=(.-sys_call_table)
-diff -urNp linux-2.6.22.1/arch/i386/kernel/head.S 
linux-2.6.22.1/arch/i386/kernel/head.S
---- linux-2.6.22.1/arch/i386/kernel/head.S     2007-07-10 14:56:30.000000000 
-0400
-+++ linux-2.6.22.1/arch/i386/kernel/head.S     2007-08-03 12:34:39.000000000 
-0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/head.S 
linux-2.6.22.4/arch/i386/kernel/head.S
+--- linux-2.6.22.4/arch/i386/kernel/head.S     2007-08-09 17:28:15.000000000 
-0400
++++ linux-2.6.22.4/arch/i386/kernel/head.S     2007-08-10 07:48:12.000000000 
-0400
 @@ -18,6 +18,7 @@
  #include <asm/thread_info.h>
  #include <asm/asm-offsets.h>
@@ -2092,9 +2102,9 @@
 +#ifdef CONFIG_SMP
 +      .fill (NR_CPUS-1) * (PAGE_SIZE_asm),1,0 /* other CPU's GDT */
 +#endif
-diff -urNp linux-2.6.22.1/arch/i386/kernel/hpet.c 
linux-2.6.22.1/arch/i386/kernel/hpet.c
---- linux-2.6.22.1/arch/i386/kernel/hpet.c     2007-07-10 14:56:30.000000000 
-0400
-+++ linux-2.6.22.1/arch/i386/kernel/hpet.c     2007-08-02 11:38:45.000000000 
-0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/hpet.c 
linux-2.6.22.4/arch/i386/kernel/hpet.c
+--- linux-2.6.22.4/arch/i386/kernel/hpet.c     2007-08-09 17:28:15.000000000 
-0400
++++ linux-2.6.22.4/arch/i386/kernel/hpet.c     2007-08-10 07:48:12.000000000 
-0400
 @@ -95,7 +95,7 @@ static void hpet_reserve_platform_timers
        hd.hd_irq[1] = HPET_LEGACY_RTC;
  
@@ -2104,9 +2114,9 @@
                        Tn_INT_ROUTE_CNF_SHIFT;
  
        hpet_alloc(&hd);
-diff -urNp linux-2.6.22.1/arch/i386/kernel/i386_ksyms.c 
linux-2.6.22.1/arch/i386/kernel/i386_ksyms.c
---- linux-2.6.22.1/arch/i386/kernel/i386_ksyms.c       2007-07-10 
14:56:30.000000000 -0400
-+++ linux-2.6.22.1/arch/i386/kernel/i386_ksyms.c       2007-08-02 
11:38:45.000000000 -0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/i386_ksyms.c 
linux-2.6.22.4/arch/i386/kernel/i386_ksyms.c
+--- linux-2.6.22.4/arch/i386/kernel/i386_ksyms.c       2007-08-09 
17:28:15.000000000 -0400
++++ linux-2.6.22.4/arch/i386/kernel/i386_ksyms.c       2007-08-10 
07:48:12.000000000 -0400
 @@ -2,12 +2,16 @@
  #include <asm/checksum.h>
  #include <asm/desc.h>
@@ -2124,9 +2134,9 @@
  
  EXPORT_SYMBOL(__get_user_1);
  EXPORT_SYMBOL(__get_user_2);
-diff -urNp linux-2.6.22.1/arch/i386/kernel/i8259.c 
linux-2.6.22.1/arch/i386/kernel/i8259.c
---- linux-2.6.22.1/arch/i386/kernel/i8259.c    2007-07-10 14:56:30.000000000 
-0400
-+++ linux-2.6.22.1/arch/i386/kernel/i8259.c    2007-08-02 11:38:45.000000000 
-0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/i8259.c 
linux-2.6.22.4/arch/i386/kernel/i8259.c
+--- linux-2.6.22.4/arch/i386/kernel/i8259.c    2007-08-09 17:28:15.000000000 
-0400
++++ linux-2.6.22.4/arch/i386/kernel/i8259.c    2007-08-10 07:48:12.000000000 
-0400
 @@ -350,7 +350,7 @@ static irqreturn_t math_error_irq(int cp
   * New motherboards sometimes make IRQ 13 be a PCI interrupt,
   * so allow interrupt sharing.
@@ -2136,9 +2146,9 @@
  
  void __init init_ISA_irqs (void)
  {
-diff -urNp linux-2.6.22.1/arch/i386/kernel/init_task.c 
linux-2.6.22.1/arch/i386/kernel/init_task.c
---- linux-2.6.22.1/arch/i386/kernel/init_task.c        2007-07-10 
14:56:30.000000000 -0400
-+++ linux-2.6.22.1/arch/i386/kernel/init_task.c        2007-08-02 
11:38:45.000000000 -0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/init_task.c 
linux-2.6.22.4/arch/i386/kernel/init_task.c
+--- linux-2.6.22.4/arch/i386/kernel/init_task.c        2007-08-09 
17:28:15.000000000 -0400
++++ linux-2.6.22.4/arch/i386/kernel/init_task.c        2007-08-10 
07:48:12.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.
@@ -2146,9 +2156,9 @@
 -DEFINE_PER_CPU(struct tss_struct, init_tss) 
____cacheline_internodealigned_in_smp = INIT_TSS;
 +struct tss_struct init_tss[NR_CPUS] ____cacheline_internodealigned_in_smp = { 
[0 ... NR_CPUS-1] = INIT_TSS };
  
-diff -urNp linux-2.6.22.1/arch/i386/kernel/io_apic.c 
linux-2.6.22.1/arch/i386/kernel/io_apic.c
---- linux-2.6.22.1/arch/i386/kernel/io_apic.c  2007-07-10 14:56:30.000000000 
-0400
-+++ linux-2.6.22.1/arch/i386/kernel/io_apic.c  2007-08-02 11:38:45.000000000 
-0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/io_apic.c 
linux-2.6.22.4/arch/i386/kernel/io_apic.c
+--- linux-2.6.22.4/arch/i386/kernel/io_apic.c  2007-08-09 17:28:15.000000000 
-0400
++++ linux-2.6.22.4/arch/i386/kernel/io_apic.c  2007-08-10 07:48:12.000000000 
-0400
 @@ -357,8 +357,8 @@ static void set_ioapic_affinity_irq(unsi
  #  define TDprintk(x...) do { printk("<%ld:%s:%d>: ", jiffies, __FILE__, 
__LINE__); printk(x); } while (0)
  #  define Dprintk(x...) do { TDprintk(x); } while (0)
@@ -2160,9 +2170,9 @@
  # endif
  
  #define IRQBALANCE_CHECK_ARCH -999
-diff -urNp linux-2.6.22.1/arch/i386/kernel/ioport.c 
linux-2.6.22.1/arch/i386/kernel/ioport.c
---- linux-2.6.22.1/arch/i386/kernel/ioport.c   2007-07-10 14:56:30.000000000 
-0400
-+++ linux-2.6.22.1/arch/i386/kernel/ioport.c   2007-08-02 11:38:45.000000000 
-0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/ioport.c 
linux-2.6.22.4/arch/i386/kernel/ioport.c
+--- linux-2.6.22.4/arch/i386/kernel/ioport.c   2007-08-09 17:28:15.000000000 
-0400
++++ linux-2.6.22.4/arch/i386/kernel/ioport.c   2007-08-10 07:48:12.000000000 
-0400
 @@ -16,6 +16,7 @@
  #include <linux/slab.h>
  #include <linux/thread_info.h>
@@ -2212,9 +2222,9 @@
        }
        t->iopl = level << 12;
        regs->eflags = (regs->eflags & ~X86_EFLAGS_IOPL) | t->iopl;
-diff -urNp linux-2.6.22.1/arch/i386/kernel/irq.c 
linux-2.6.22.1/arch/i386/kernel/irq.c
---- linux-2.6.22.1/arch/i386/kernel/irq.c      2007-07-10 14:56:30.000000000 
-0400
-+++ linux-2.6.22.1/arch/i386/kernel/irq.c      2007-08-02 11:38:45.000000000 
-0400
+diff -urNp linux-2.6.22.4/arch/i386/kernel/irq.c 
linux-2.6.22.4/arch/i386/kernel/irq.c
+--- linux-2.6.22.4/arch/i386/kernel/irq.c      2007-08-09 17:28:15.000000000 
-0400
++++ linux-2.6.22.4/arch/i386/kernel/irq.c      2007-08-10 07:48:12.000000000 
-0400
 @@ -117,7 +117,7 @@ fastcall unsigned int do_IRQ(struct pt_r
                int arg1, arg2, ebx;
  
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/linux-2.6-grsec-full.patch?r1=1.1.2.4&r2=1.1.2.5&f=u

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

Reply via email to