Re: Linux 2.6.22.7 Machine Check Exception

2007-10-30 Thread Andrew Morton
On Thu, 25 Oct 2007 12:40:58 +0200 Michael Stiller <[EMAIL PROTECTED]> wrote:

> Hi,
> 
> i encountered the following machine check exceptions (and hangs) with
> 2.6.22.7 on an Dual Core-2 Xeon System. It occurs if i try to use the
> PCI-X Intel Gigabit Ethernet card after some minutes:
> 
> CPU 3: Machine Check Exception 0005
> Bank 0: b2401400
> Bank 5: b20012102400
> 
> or
> 
> CPU 1: Machine Check Exception 0005
> Bank 0: b2401400
> Bank 5: b20012102400
> 
> What is the cause? How can this be debugged?
> 

I guess it means your hardware is sick.  Presumably those two
numbers were supposed to be the same.

I assume this is the same machine as in your "2.6.22.7 reboots if PCI-X eth
card is used for capture" report?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Linux 2.6.22.7 Machine Check Exception

2007-10-30 Thread Andrew Morton
On Thu, 25 Oct 2007 12:40:58 +0200 Michael Stiller [EMAIL PROTECTED] wrote:

 Hi,
 
 i encountered the following machine check exceptions (and hangs) with
 2.6.22.7 on an Dual Core-2 Xeon System. It occurs if i try to use the
 PCI-X Intel Gigabit Ethernet card after some minutes:
 
 CPU 3: Machine Check Exception 0005
 Bank 0: b2401400
 Bank 5: b20012102400
 
 or
 
 CPU 1: Machine Check Exception 0005
 Bank 0: b2401400
 Bank 5: b20012102400
 
 What is the cause? How can this be debugged?
 

I guess it means your hardware is sick.  Presumably those two
numbers were supposed to be the same.

I assume this is the same machine as in your 2.6.22.7 reboots if PCI-X eth
card is used for capture report?

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Linux 2.6.22.7 Machine Check Exception

2007-10-25 Thread Michael Stiller
Hi,

i encountered the following machine check exceptions (and hangs) with
2.6.22.7 on an Dual Core-2 Xeon System. It occurs if i try to use the
PCI-X Intel Gigabit Ethernet card after some minutes:

CPU 3: Machine Check Exception 0005
Bank 0: b2401400
Bank 5: b20012102400

or

CPU 1: Machine Check Exception 0005
Bank 0: b2401400
Bank 5: b20012102400

What is the cause? How can this be debugged?

Cheers,

-Michael

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Linux 2.6.22.7 Machine Check Exception

2007-10-25 Thread Michael Stiller
Hi,

i encountered the following machine check exceptions (and hangs) with
2.6.22.7 on an Dual Core-2 Xeon System. It occurs if i try to use the
PCI-X Intel Gigabit Ethernet card after some minutes:

CPU 3: Machine Check Exception 0005
Bank 0: b2401400
Bank 5: b20012102400

or

CPU 1: Machine Check Exception 0005
Bank 0: b2401400
Bank 5: b20012102400

What is the cause? How can this be debugged?

Cheers,

-Michael

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Linux 2.6.22.7

2007-09-21 Thread Chris Wright
diff --git a/Makefile b/Makefile
index 3067f6a..12edea0 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 VERSION = 2
 PATCHLEVEL = 6
 SUBLEVEL = 22
-EXTRAVERSION = .6
+EXTRAVERSION = .7
 NAME = Holy Dancing Manatees, Batman!
 
 # *DOCUMENTATION*
diff --git a/arch/x86_64/ia32/ia32entry.S b/arch/x86_64/ia32/ia32entry.S
index 47565c3..0bc623a 100644
--- a/arch/x86_64/ia32/ia32entry.S
+++ b/arch/x86_64/ia32/ia32entry.S
@@ -38,6 +38,18 @@
movq%rax,R8(%rsp)
.endm
 
+   .macro LOAD_ARGS32 offset
+   movl \offset(%rsp),%r11d
+   movl \offset+8(%rsp),%r10d
+   movl \offset+16(%rsp),%r9d
+   movl \offset+24(%rsp),%r8d
+   movl \offset+40(%rsp),%ecx
+   movl \offset+48(%rsp),%edx
+   movl \offset+56(%rsp),%esi
+   movl \offset+64(%rsp),%edi
+   movl \offset+72(%rsp),%eax
+   .endm
+   
.macro CFI_STARTPROC32 simple
CFI_STARTPROC   \simple
CFI_UNDEFINED   r8
@@ -152,7 +164,7 @@ sysenter_tracesys:
movq$-ENOSYS,RAX(%rsp)  /* really needed? */
movq%rsp,%rdi/* _regs -> arg1 */
callsyscall_trace_enter
-   LOAD_ARGS ARGOFFSET  /* reload args from stack in case ptrace changed 
it */
+   LOAD_ARGS32 ARGOFFSET  /* reload args from stack in case ptrace changed 
it */
RESTORE_REST
movl%ebp, %ebp
/* no need to do an access_ok check here because rbp has been
@@ -255,7 +267,7 @@ cstar_tracesys:
movq $-ENOSYS,RAX(%rsp) /* really needed? */
movq %rsp,%rdi/* _regs -> arg1 */
call syscall_trace_enter
-   LOAD_ARGS ARGOFFSET  /* reload args from stack in case ptrace changed 
it */
+   LOAD_ARGS32 ARGOFFSET  /* reload args from stack in case ptrace changed 
it */
RESTORE_REST
movl RSP-ARGOFFSET(%rsp), %r8d
/* no need to do an access_ok check here because r8 has been
@@ -333,7 +345,7 @@ ia32_tracesys:
movq $-ENOSYS,RAX(%rsp) /* really needed? */
movq %rsp,%rdi/* _regs -> arg1 */
call syscall_trace_enter
-   LOAD_ARGS ARGOFFSET  /* reload args from stack in case ptrace changed 
it */
+   LOAD_ARGS32 ARGOFFSET  /* reload args from stack in case ptrace changed 
it */
RESTORE_REST
jmp ia32_do_syscall
 END(ia32_syscall)
diff --git a/arch/x86_64/kernel/ptrace.c b/arch/x86_64/kernel/ptrace.c
index 9409117..8d89d8c 100644
--- a/arch/x86_64/kernel/ptrace.c
+++ b/arch/x86_64/kernel/ptrace.c
@@ -223,10 +223,6 @@ static int putreg(struct task_struct *child,
 {
unsigned long tmp; 

-   /* Some code in the 64bit emulation may not be 64bit clean.
-  Don't take any chances. */
-   if (test_tsk_thread_flag(child, TIF_IA32))
-   value &= 0x;
switch (regno) {
case offsetof(struct user_regs_struct,fs):
if (value && (value & 3) != 3)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Linux 2.6.22.7

2007-09-21 Thread Chris Wright
We (the -stable team) are announcing the release of the 2.6.22.7 kernel.
It contains a single security bugfix for the x86_64 architecture.
There is potential for local privilege escalation, so all x86_64 users
are certainly encouraged to upgrade.

CVE-2007-4573: x86_64: Zero extend all registers after ptrace in 32bit entry 
path.

I'll also be replying to this message with a copy of the patch between
2.6.22.6 and 2.6.22.7

The updated 2.6.22.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.22.y.git
and can be browsed at the normal kernel.org git web browser:

http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.22.y.git;a=summary

thanks,
-chris



 Makefile |2 +-
 arch/x86_64/ia32/ia32entry.S |   18 +++---
 arch/x86_64/kernel/ptrace.c  |4 
 3 files changed, 16 insertions(+), 8 deletions(-)

Summary of changes from v2.6.22.6 to v2.6.22.7
==

Andi Kleen (1):
  x86_64: Zero extend all registers after ptrace in 32bit entry path.

Chris Wright (1):
  Linux 2.6.22.7

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Linux 2.6.22.7

2007-09-21 Thread Chris Wright
We (the -stable team) are announcing the release of the 2.6.22.7 kernel.
It contains a single security bugfix for the x86_64 architecture.
There is potential for local privilege escalation, so all x86_64 users
are certainly encouraged to upgrade.

CVE-2007-4573: x86_64: Zero extend all registers after ptrace in 32bit entry 
path.

I'll also be replying to this message with a copy of the patch between
2.6.22.6 and 2.6.22.7

The updated 2.6.22.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.22.y.git
and can be browsed at the normal kernel.org git web browser:

http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.22.y.git;a=summary

thanks,
-chris



 Makefile |2 +-
 arch/x86_64/ia32/ia32entry.S |   18 +++---
 arch/x86_64/kernel/ptrace.c  |4 
 3 files changed, 16 insertions(+), 8 deletions(-)

Summary of changes from v2.6.22.6 to v2.6.22.7
==

Andi Kleen (1):
  x86_64: Zero extend all registers after ptrace in 32bit entry path.

Chris Wright (1):
  Linux 2.6.22.7

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Linux 2.6.22.7

2007-09-21 Thread Chris Wright
diff --git a/Makefile b/Makefile
index 3067f6a..12edea0 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 VERSION = 2
 PATCHLEVEL = 6
 SUBLEVEL = 22
-EXTRAVERSION = .6
+EXTRAVERSION = .7
 NAME = Holy Dancing Manatees, Batman!
 
 # *DOCUMENTATION*
diff --git a/arch/x86_64/ia32/ia32entry.S b/arch/x86_64/ia32/ia32entry.S
index 47565c3..0bc623a 100644
--- a/arch/x86_64/ia32/ia32entry.S
+++ b/arch/x86_64/ia32/ia32entry.S
@@ -38,6 +38,18 @@
movq%rax,R8(%rsp)
.endm
 
+   .macro LOAD_ARGS32 offset
+   movl \offset(%rsp),%r11d
+   movl \offset+8(%rsp),%r10d
+   movl \offset+16(%rsp),%r9d
+   movl \offset+24(%rsp),%r8d
+   movl \offset+40(%rsp),%ecx
+   movl \offset+48(%rsp),%edx
+   movl \offset+56(%rsp),%esi
+   movl \offset+64(%rsp),%edi
+   movl \offset+72(%rsp),%eax
+   .endm
+   
.macro CFI_STARTPROC32 simple
CFI_STARTPROC   \simple
CFI_UNDEFINED   r8
@@ -152,7 +164,7 @@ sysenter_tracesys:
movq$-ENOSYS,RAX(%rsp)  /* really needed? */
movq%rsp,%rdi/* pt_regs - arg1 */
callsyscall_trace_enter
-   LOAD_ARGS ARGOFFSET  /* reload args from stack in case ptrace changed 
it */
+   LOAD_ARGS32 ARGOFFSET  /* reload args from stack in case ptrace changed 
it */
RESTORE_REST
movl%ebp, %ebp
/* no need to do an access_ok check here because rbp has been
@@ -255,7 +267,7 @@ cstar_tracesys:
movq $-ENOSYS,RAX(%rsp) /* really needed? */
movq %rsp,%rdi/* pt_regs - arg1 */
call syscall_trace_enter
-   LOAD_ARGS ARGOFFSET  /* reload args from stack in case ptrace changed 
it */
+   LOAD_ARGS32 ARGOFFSET  /* reload args from stack in case ptrace changed 
it */
RESTORE_REST
movl RSP-ARGOFFSET(%rsp), %r8d
/* no need to do an access_ok check here because r8 has been
@@ -333,7 +345,7 @@ ia32_tracesys:
movq $-ENOSYS,RAX(%rsp) /* really needed? */
movq %rsp,%rdi/* pt_regs - arg1 */
call syscall_trace_enter
-   LOAD_ARGS ARGOFFSET  /* reload args from stack in case ptrace changed 
it */
+   LOAD_ARGS32 ARGOFFSET  /* reload args from stack in case ptrace changed 
it */
RESTORE_REST
jmp ia32_do_syscall
 END(ia32_syscall)
diff --git a/arch/x86_64/kernel/ptrace.c b/arch/x86_64/kernel/ptrace.c
index 9409117..8d89d8c 100644
--- a/arch/x86_64/kernel/ptrace.c
+++ b/arch/x86_64/kernel/ptrace.c
@@ -223,10 +223,6 @@ static int putreg(struct task_struct *child,
 {
unsigned long tmp; 

-   /* Some code in the 64bit emulation may not be 64bit clean.
-  Don't take any chances. */
-   if (test_tsk_thread_flag(child, TIF_IA32))
-   value = 0x;
switch (regno) {
case offsetof(struct user_regs_struct,fs):
if (value  (value  3) != 3)
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/