SOURCES (LINUX_2_6_20): pax-linux-2.6.20.patch - reverted last cha...
mguevara
mguevara at pld-linux.org
Wed Mar 7 10:47:56 CET 2007
Author: mguevara Date: Wed Mar 7 09:47:56 2007 GMT
Module: SOURCES Tag: LINUX_2_6_20
---- Log message:
- reverted last change and get the fix from the test6 patch
---- Files affected:
SOURCES:
pax-linux-2.6.20.patch (1.1.2.9 -> 1.1.2.10)
---- Diffs:
================================================================
Index: SOURCES/pax-linux-2.6.20.patch
diff -u SOURCES/pax-linux-2.6.20.patch:1.1.2.9 SOURCES/pax-linux-2.6.20.patch:1.1.2.10
--- SOURCES/pax-linux-2.6.20.patch:1.1.2.9 Tue Mar 6 10:43:49 2007
+++ SOURCES/pax-linux-2.6.20.patch Wed Mar 7 10:47:50 2007
@@ -396,7 +396,7 @@
movw $0x0e00 + 'B', 0xb8018
diff -NurpX linux-2.6.20.1-pax/Documentation/dontdiff -x 'netfilter*' linux-2.6.20.1/arch/i386/kernel/alternative.c linux-2.6.20.1-pax/arch/i386/kernel/alternative.c
--- linux-2.6.20.1/arch/i386/kernel/alternative.c 2007-02-04 19:44:54.000000000 +0100
-+++ linux-2.6.20.1-pax/arch/i386/kernel/alternative.c 2007-02-18 20:20:56.000000000 +0100
++++ linux-2.6.20.1-pax/arch/i386/kernel/alternative.c 2007-02-21 11:06:26.000000000 +0100
@@ -4,6 +4,7 @@
#include <linux/list.h>
#include <asm/alternative.h>
@@ -488,12 +488,12 @@
{
- u8 **ptr;
+ u8 *ptr;
-+
-+#ifdef CONFIG_PAX_KERNEXEC
-+ unsigned long cr0;
- for (ptr = start; ptr < end; ptr++) {
- if (*ptr < text)
++#ifdef CONFIG_PAX_KERNEXEC
++ unsigned long cr0;
++
+ pax_open_kernel(cr0);
+#endif
+
@@ -545,8 +545,16 @@
}
struct smp_alt_module {
-@@ -356,8 +414,9 @@ void apply_paravirt(struct paravirt_patc
+@@ -354,10 +412,17 @@ void apply_paravirt(struct paravirt_patc
+ {
+ struct paravirt_patch *p;
++#ifdef CONFIG_PAX_KERNEXEC
++ unsigned long cr0;
++
++ pax_open_kernel(cr0);
++#endif
++
for (p = start; p < end; p++) {
unsigned int used;
+ u8 *instr = p->instr + __KERNEL_TEXT_OFFSET;
@@ -556,7 +564,7 @@
p->len);
#ifdef CONFIG_DEBUG_PARAVIRT
{
-@@ -365,15 +424,14 @@ void apply_paravirt(struct paravirt_patc
+@@ -365,17 +430,20 @@ void apply_paravirt(struct paravirt_patc
/* Deliberately clobber regs using "not %reg" to find bugs. */
for (i = 0; i < 3; i++) {
if (p->len - used >= 2 && (p->clobbers & (1 << i))) {
@@ -574,7 +582,13 @@
+ nop_out(instr + used, p->len - used);
}
++#ifdef CONFIG_PAX_KERNEXEC
++ pax_close_kernel(cr0);
++#endif
++
/* Sync to be conservative, in case we patched following instructions */
+ sync_core();
+ }
diff -NurpX linux-2.6.20.1-pax/Documentation/dontdiff -x 'netfilter*' linux-2.6.20.1/arch/i386/kernel/apic.c linux-2.6.20.1-pax/arch/i386/kernel/apic.c
--- linux-2.6.20.1/arch/i386/kernel/apic.c 2007-02-04 19:44:54.000000000 +0100
+++ linux-2.6.20.1-pax/arch/i386/kernel/apic.c 2007-02-05 00:56:18.000000000 +0100
@@ -3470,7 +3484,7 @@
tsk->thread.sysenter_cs = 0;
diff -NurpX linux-2.6.20.1-pax/Documentation/dontdiff -x 'netfilter*' linux-2.6.20.1/arch/i386/kernel/vmlinux.lds.S linux-2.6.20.1-pax/arch/i386/kernel/vmlinux.lds.S
--- linux-2.6.20.1/arch/i386/kernel/vmlinux.lds.S 2007-02-04 19:44:54.000000000 +0100
-+++ linux-2.6.20.1-pax/arch/i386/kernel/vmlinux.lds.S 2007-02-20 00:23:33.000000000 +0100
++++ linux-2.6.20.1-pax/arch/i386/kernel/vmlinux.lds.S 2007-03-07 00:12:15.000000000 +0100
@@ -8,12 +8,6 @@
* put it inside the section definition.
*/
@@ -3620,7 +3634,7 @@
.exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) { *(.exit.data) }
. = ALIGN(4096);
.init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) {
-@@ -193,11 +121,134 @@ SECTIONS
+@@ -193,11 +121,131 @@ SECTIONS
*(.data.percpu)
__per_cpu_end = .;
}
@@ -3642,7 +3656,6 @@
+ .text.align : AT(ADDR(.text.align) - LOAD_OFFSET + __KERNEL_TEXT_OFFSET) {
+ . = ALIGN(__KERNEL_TEXT_OFFSET - LOAD_OFFSET) - 1;
+ BYTE(0)
-+ __init_end = . + __KERNEL_TEXT_OFFSET;
+ }
+#else
. = ALIGN(4096);
@@ -3652,6 +3665,7 @@
-
+
+ .text : AT(ADDR(.text) - LOAD_OFFSET + __KERNEL_TEXT_OFFSET) {
++ __init_end = . + __KERNEL_TEXT_OFFSET;
+ _text = .; /* Text and read-only data */
+ *(.text)
+ SCHED_TEXT
@@ -3750,9 +3764,7 @@
+ . = ALIGN(4096);
+
.bss : AT(ADDR(.bss) - LOAD_OFFSET) {
-+#ifndef CONFIG_PAX_KERNEXEC
- __init_end = .;
-+#endif
+- __init_end = .;
__bss_start = .; /* BSS */
*(.bss.page_aligned)
*(.bss)
================================================================
---- CVS-web:
http://cvs.pld-linux.org/SOURCES/pax-linux-2.6.20.patch?r1=1.1.2.9&r2=1.1.2.10&f=u
More information about the pld-cvs-commit
mailing list