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