]> git.pld-linux.org Git - packages/kernel.git/blame - 2.2.22-security_NTfix.patch
- added description of djurban's branch
[packages/kernel.git] / 2.2.22-security_NTfix.patch
CommitLineData
310629d2
KT
1diff -urN linux.orig/arch/i386/kernel/entry.S linux/arch/i386/kernel/entry.S
2--- linux.orig/arch/i386/kernel/entry.S Tue May 21 01:32:34 2002
3+++ linux/arch/i386/kernel/entry.S Thu Nov 14 21:39:36 2002
4@@ -63,7 +63,9 @@
5 OLDSS = 0x38
6
7 CF_MASK = 0x00000001
8+TF_MASK = 0x00000100
9 IF_MASK = 0x00000200
10+DF_MASK = 0x00000400
11 NT_MASK = 0x00004000
12 VM_MASK = 0x00020000
13
14@@ -139,6 +141,9 @@
15 movl CS(%esp),%edx # this is eip..
16 movl EFLAGS(%esp),%ecx # and this is cs..
17 movl %eax,EFLAGS(%esp) #
18+ andl $~(NT_MASK|TF_MASK|DF_MASK), %eax
19+ pushl %eax
20+ popfl
21 movl %edx,EIP(%esp) # Now we move them to their "normal" places
22 movl %ecx,CS(%esp) #
23 movl %esp,%ebx
24@@ -256,6 +261,9 @@
25 pushl $ SYMBOL_NAME(do_divide_error)
26 ALIGN
27 error_code:
28+ pushfl
29+ andl $~(NT_MASK|TF_MASK|DF_MASK), (%esp)
30+ popfl
31 pushl %ds
32 pushl %eax
33 xorl %eax,%eax
34@@ -266,7 +274,6 @@
35 decl %eax # eax = -1
36 pushl %ecx
37 pushl %ebx
38- cld
39 movl %es,%cx
40 movl ORIG_EAX(%esp), %esi # get the error code
41 movl ES(%esp), %edi # get the function address
42diff -urN linux.orig/arch/i386/kernel/traps.c linux/arch/i386/kernel/traps.c
43--- linux.orig/arch/i386/kernel/traps.c Thu Nov 14 21:19:40 2002
44+++ linux/arch/i386/kernel/traps.c Thu Nov 14 21:40:01 2002
45@@ -601,7 +601,7 @@
46 return;
47
48 clear_TF:
49- regs->eflags &= ~TF_MASK;
50+ regs->eflags &= ~(TF_MASK|NT_MASK);
51 return;
52 }
53
This page took 0.185936 seconds and 4 git commands to generate.