public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* OOPS at dmar_table_init (2.6.22-rc6-mm1 kernel)
@ 2007-07-10 13:57 Pavel Emelianov
  2007-07-10 16:49 ` Randy Dunlap
  2007-07-10 17:19 ` Andrew Morton
  0 siblings, 2 replies; 4+ messages in thread
From: Pavel Emelianov @ 2007-07-10 13:57 UTC (permalink / raw)
  To: Ashok Raj, Shaohua Li, Anil S Keshavamurthy,
	Linux Kernel Mailing List
  Cc: Andrew Morton

Hi.

While working with Andrew's kernel I faced an OOPS on x86_64 
machine. Unfortunately kernel logs are not appearing in serial 
console by the time oops happens, but I have some info on the
screen:

OOPs is at dmar_table_init() here:
ffffffff80532873 <dmar_table_init>:
ffffffff80532873:       41 55                   push   %r13
ffffffff80532875:       41 54                   push   %r12
ffffffff80532877:       55                      push   %rbp
ffffffff80532878:       53                      push   %rbx
ffffffff80532879:       51                      push   %rcx
ffffffff8053287a:       4c 8b 2d 07 21 01 00    mov    73991(%rip),%r13        # ffffffff80544988 <dmar_tbl>
ffffffff80532881:       41 0f b6 45 24          movzbl 0x24(%r13),%eax  <<<<<<<<<<< OOPS, %r13 = NULL
ffffffff80532886:       84 c0                   test   %al,%al
ffffffff80532888:       75 11                   jne    ffffffff8053289b <dmar_table_init+0x28>
ffffffff8053288a:       48 c7 c7 b0 3d 45 80    mov    $0xffffffff80453db0,%rdi
ffffffff80532891:       e8 c2 4a cf ff          callq  ffffffff80227358 <printk>
ffffffff80532896:       e9 f2 01 00 00          jmpq   ffffffff80532a8d <dmar_table_init+0x21a>

Looks like dmar_tbl is NULL. 
BUG is 100% reproducible. Is there any other info that can be useful?

Thanks,
Pavel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: OOPS at dmar_table_init (2.6.22-rc6-mm1 kernel)
  2007-07-10 13:57 OOPS at dmar_table_init (2.6.22-rc6-mm1 kernel) Pavel Emelianov
@ 2007-07-10 16:49 ` Randy Dunlap
  2007-07-10 16:56   ` Keshavamurthy, Anil S
  2007-07-10 17:19 ` Andrew Morton
  1 sibling, 1 reply; 4+ messages in thread
From: Randy Dunlap @ 2007-07-10 16:49 UTC (permalink / raw)
  To: Pavel Emelianov
  Cc: Ashok Raj, Shaohua Li, Anil S Keshavamurthy,
	Linux Kernel Mailing List, Andrew Morton

On Tue, 10 Jul 2007 17:57:25 +0400 Pavel Emelianov wrote:

> Hi.
> 
> While working with Andrew's kernel I faced an OOPS on x86_64 
> machine. Unfortunately kernel logs are not appearing in serial 
> console by the time oops happens, but I have some info on the
> screen:
> 
> OOPs is at dmar_table_init() here:
> ffffffff80532873 <dmar_table_init>:
> ffffffff80532873:       41 55                   push   %r13
> ffffffff80532875:       41 54                   push   %r12
> ffffffff80532877:       55                      push   %rbp
> ffffffff80532878:       53                      push   %rbx
> ffffffff80532879:       51                      push   %rcx
> ffffffff8053287a:       4c 8b 2d 07 21 01 00    mov    73991(%rip),%r13        # ffffffff80544988 <dmar_tbl>
> ffffffff80532881:       41 0f b6 45 24          movzbl 0x24(%r13),%eax  <<<<<<<<<<< OOPS, %r13 = NULL
> ffffffff80532886:       84 c0                   test   %al,%al
> ffffffff80532888:       75 11                   jne    ffffffff8053289b <dmar_table_init+0x28>
> ffffffff8053288a:       48 c7 c7 b0 3d 45 80    mov    $0xffffffff80453db0,%rdi
> ffffffff80532891:       e8 c2 4a cf ff          callq  ffffffff80227358 <printk>
> ffffffff80532896:       e9 f2 01 00 00          jmpq   ffffffff80532a8d <dmar_table_init+0x21a>
> 
> Looks like dmar_tbl is NULL. 
> BUG is 100% reproducible. Is there any other info that can be useful?

You could test the patch from
http://lkml.org/lkml/2007/6/29/174 (see "Get diff 1").


---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: OOPS at dmar_table_init (2.6.22-rc6-mm1 kernel)
  2007-07-10 16:49 ` Randy Dunlap
@ 2007-07-10 16:56   ` Keshavamurthy, Anil S
  0 siblings, 0 replies; 4+ messages in thread
From: Keshavamurthy, Anil S @ 2007-07-10 16:56 UTC (permalink / raw)
  To: Randy Dunlap, Pavel Emelianov
  Cc: Raj, Ashok, Li, Shaohua, Linux Kernel Mailing List, Andrew Morton

(Sorry for the top post) 

This bug is fixed and the fix should appear in the next MM release.
See this link for the patch
http://marc.info/?l=linux-kernel&m=118313130109808&w=2 

-Anil
-----Original Message-----
From: Randy Dunlap [mailto:rdunlap@xenotime.net] 
Sent: Tuesday, July 10, 2007 9:50 AM
To: Pavel Emelianov
Cc: Raj, Ashok; Li, Shaohua; Keshavamurthy, Anil S; Linux Kernel Mailing
List; Andrew Morton
Subject: Re: OOPS at dmar_table_init (2.6.22-rc6-mm1 kernel)

On Tue, 10 Jul 2007 17:57:25 +0400 Pavel Emelianov wrote:

> Hi.
> 
> While working with Andrew's kernel I faced an OOPS on x86_64 
> machine. Unfortunately kernel logs are not appearing in serial 
> console by the time oops happens, but I have some info on the
> screen:
> 
> OOPs is at dmar_table_init() here:
> ffffffff80532873 <dmar_table_init>:
> ffffffff80532873:       41 55                   push   %r13
> ffffffff80532875:       41 54                   push   %r12
> ffffffff80532877:       55                      push   %rbp
> ffffffff80532878:       53                      push   %rbx
> ffffffff80532879:       51                      push   %rcx
> ffffffff8053287a:       4c 8b 2d 07 21 01 00    mov
73991(%rip),%r13        # ffffffff80544988 <dmar_tbl>
> ffffffff80532881:       41 0f b6 45 24          movzbl 0x24(%r13),%eax
<<<<<<<<<<< OOPS, %r13 = NULL
> ffffffff80532886:       84 c0                   test   %al,%al
> ffffffff80532888:       75 11                   jne
ffffffff8053289b <dmar_table_init+0x28>
> ffffffff8053288a:       48 c7 c7 b0 3d 45 80    mov
$0xffffffff80453db0,%rdi
> ffffffff80532891:       e8 c2 4a cf ff          callq
ffffffff80227358 <printk>
> ffffffff80532896:       e9 f2 01 00 00          jmpq
ffffffff80532a8d <dmar_table_init+0x21a>
> 
> Looks like dmar_tbl is NULL. 
> BUG is 100% reproducible. Is there any other info that can be useful?

You could test the patch from
http://lkml.org/lkml/2007/6/29/174 (see "Get diff 1").


---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code
***

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: OOPS at dmar_table_init (2.6.22-rc6-mm1 kernel)
  2007-07-10 13:57 OOPS at dmar_table_init (2.6.22-rc6-mm1 kernel) Pavel Emelianov
  2007-07-10 16:49 ` Randy Dunlap
@ 2007-07-10 17:19 ` Andrew Morton
  1 sibling, 0 replies; 4+ messages in thread
From: Andrew Morton @ 2007-07-10 17:19 UTC (permalink / raw)
  To: Pavel Emelianov
  Cc: Ashok Raj, Shaohua Li, Anil S Keshavamurthy,
	Linux Kernel Mailing List

On Tue, 10 Jul 2007 17:57:25 +0400 Pavel Emelianov <xemul@sw.ru> wrote:

> Hi.
> 
> While working with Andrew's kernel I faced an OOPS on x86_64 
> machine. Unfortunately kernel logs are not appearing in serial 
> console by the time oops happens, but I have some info on the
> screen:
> 
> OOPs is at dmar_table_init() here:
> ffffffff80532873 <dmar_table_init>:
> ffffffff80532873:       41 55                   push   %r13
> ffffffff80532875:       41 54                   push   %r12
> ffffffff80532877:       55                      push   %rbp
> ffffffff80532878:       53                      push   %rbx
> ffffffff80532879:       51                      push   %rcx
> ffffffff8053287a:       4c 8b 2d 07 21 01 00    mov    73991(%rip),%r13        # ffffffff80544988 <dmar_tbl>
> ffffffff80532881:       41 0f b6 45 24          movzbl 0x24(%r13),%eax  <<<<<<<<<<< OOPS, %r13 = NULL
> ffffffff80532886:       84 c0                   test   %al,%al
> ffffffff80532888:       75 11                   jne    ffffffff8053289b <dmar_table_init+0x28>
> ffffffff8053288a:       48 c7 c7 b0 3d 45 80    mov    $0xffffffff80453db0,%rdi
> ffffffff80532891:       e8 c2 4a cf ff          callq  ffffffff80227358 <printk>
> ffffffff80532896:       e9 f2 01 00 00          jmpq   ffffffff80532a8d <dmar_table_init+0x21a>
> 
> Looks like dmar_tbl is NULL. 
> BUG is 100% reproducible. Is there any other info that can be useful?
> 

This?

From: "Keshavamurthy, Anil S" <anil.s.keshavamurthy@intel.com>

Check for dmar_tbl pointer as this can be NULL on systems with no Intel
VT-d support.

Signed-off-by: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 drivers/pci/dmar.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff -puN drivers/pci/dmar.c~intel-iommu-dmar-detection-and-parsing-logic-fix-intel-dmar-crash-on-amd-x86_64 drivers/pci/dmar.c
--- a/drivers/pci/dmar.c~intel-iommu-dmar-detection-and-parsing-logic-fix-intel-dmar-crash-on-amd-x86_64
+++ a/drivers/pci/dmar.c
@@ -260,6 +260,8 @@ parse_dmar_table(void)
 	int ret = 0;
 
 	dmar = (struct acpi_table_dmar *)dmar_tbl;
+	if (!dmar)
+		return -ENODEV;
 
 	if (!dmar->width) {
 		printk (KERN_WARNING PREFIX "Zero: Invalid DMAR haw\n");
@@ -301,7 +303,7 @@ int __init dmar_table_init(void)
 
 	parse_dmar_table();
 	if (list_empty(&dmar_drhd_units)) {
-		printk(KERN_ERR PREFIX "No DMAR devices found\n");
+		printk(KERN_INFO PREFIX "No DMAR devices found\n");
 		return -ENODEV;
 	}
 	return 0;
_


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-07-10 17:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-10 13:57 OOPS at dmar_table_init (2.6.22-rc6-mm1 kernel) Pavel Emelianov
2007-07-10 16:49 ` Randy Dunlap
2007-07-10 16:56   ` Keshavamurthy, Anil S
2007-07-10 17:19 ` Andrew Morton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox