SOURCES (hawk-LINUX_2_6): linux-2.6-grsec-full.patch - raw from ht...

hawk hawk at pld-linux.org
Sun Aug 26 14:16:54 CEST 2007


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



More information about the pld-cvs-commit mailing list