Re: /dev/cpu/*/(cpuid, msr) unhappy as modules - OOPS!

2000-12-14 Thread Chris Rankin

OK, I've just tried repeating this experiment on 2.2.18 (no devfs) and
it oopsed this time, so there's obviously something else going on
here.

$ ksymoops -m /boot/System.map-2.2.18 < oops2.txt 
ksymoops 2.3.4 on i586 2.2.18.  Options used
 -V (default)
 -k /proc/ksyms (default)
 -l /proc/modules (default)
 -o /lib/modules/2.2.18/ (default)
 -m /boot/System.map-2.2.18 (specified)

Warning (compare_maps): ksyms_base symbol module_list_R__ver_module_list not found in 
System.map.  Ignoring ksyms_base entry
Dec 14 22:03:53 wellhouse kernel: Unable to handle kernel paging request at virtual 
address c888a27c
Dec 14 22:03:53 wellhouse kernel: current->tss.cr3 = 03003000, %%cr3 = 03003000
Dec 14 22:03:53 wellhouse kernel: *pde = 013f2063
Dec 14 22:03:53 wellhouse kernel: Oops: 
Dec 14 22:03:53 wellhouse kernel: CPU:0
Dec 14 22:03:53 wellhouse kernel: EIP:0010:[chrdev_open+56/88]
Dec 14 22:03:53 wellhouse kernel: EFLAGS: 00010286
Dec 14 22:03:53 wellhouse kernel: eax: c888a260   ebx: ffed   ecx:    edx: 
00cb
Dec 14 22:03:53 wellhouse kernel: esi: c25ba8c0   edi: c18c2288   ebp: c3c50ca0   esp: 
c0ef9f4c
Dec 14 22:03:53 wellhouse kernel: ds: 0018   es: 0018   ss: 0018
Dec 14 22:03:53 wellhouse kernel: Process cat (pid: 7021, process nr: 61, 
stackpage=c0ef9000)
Dec 14 22:03:53 wellhouse kernel: Stack: c18c2288 8000 0003 400e88b3 ba6c 
c012497c c18c2288 c25ba8c0 
Dec 14 22:03:53 wellhouse kernel: c01248d5 0003 c398a000 400e88b3 
ba6c  c16b427c 
Dec 14 22:03:53 wellhouse kernel:0400 c0124b6f c398a000 8000  
c0124b56 c0ef8000 40013ed0 
Dec 14 22:03:53 wellhouse kernel: Call Trace: [filp_open+184/264] [filp_open+17/264] 
[sys_open+63/160] [sys_open+38/160] [error_code+45/64] [system_call+52/64] 
Dec 14 22:03:53 wellhouse kernel: Code: 8b 40 1c 31 db 85 c0 74 0c 83 c4 f8 56 57 ff 
d0 89 c3 83 c4 
Using defaults from ksymoops -t elf32-i386 -a i386

Code;   Before first symbol
 <_EIP>:
Code;   Before first symbol
   0:   8b 40 1c  mov0x1c(%eax),%eax
Code;  0003 Before first symbol
   3:   31 db xor%ebx,%ebx
Code;  0005 Before first symbol
   5:   85 c0 test   %eax,%eax
Code;  0007 Before first symbol
   7:   74 0c je 15 <_EIP+0x15> 0015 Before first symbol
Code;  0009 Before first symbol
   9:   83 c4 f8  add$0xfff8,%esp
Code;  000c Before first symbol
   c:   56push   %esi
Code;  000d Before first symbol
   d:   57push   %edi
Code;  000e Before first symbol
   e:   ff d0 call   *%eax
Code;  0010 Before first symbol
  10:   89 c3 mov%eax,%ebx
Code;  0012 Before first symbol
  12:   83 c4 00  add$0x0,%esp


1 warning issued.  Results may not be reliable.

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



Re: /dev/cpu/*/(cpuid, msr) unhappy as modules - OOPS!

2000-12-14 Thread Chris Rankin

> Looks like a devfs problem; complain to the appropriate people.  I refuse 
> to touch that particular devfs code.

I've had a quick look at both the 2.2.18 and 2.4.0-test12 drivers for
msr and cpuid, and I've noticed something curious.

This is the comment from 2.4.0-test12, cpuid.c:

/*
 * cpuid.c
 *
 * x86 CPUID access device
 *
 * This device is accessed by lseek() to the appropriate CPUID level
 * and then read in chunks of 16 bytes.  A larger size means multiple
 * reads of consecutive levels.
 *
 * This driver uses /dev/cpu/%d/cpuid where %d is the minor number, and on
 * an SMP box will direct the access to CPU %d.
 */

And this is the initialisation function:

int __init cpuid_init(void)
{
  if (register_chrdev(CPUID_MAJOR, "cpu/cpuid", _fops)) {
printk(KERN_ERR "cpuid: unable to get major %d for cpuid\n",
 CPUID_MAJOR);
return -EBUSY;
  }

  return 0;
}

These two are inconsistent! I had dutifully created a /dev/cpu/0
directory on my 2.2.18 and 2.4.0-test12 boxes, and had placed cpuid
device nodes inside them. (The 2.4.0-test12 box is SMP, and so I also
created a /dev/cpu/1 directory there too.) However, the driver expects
the device node to be /dev/cpu/cpuid. The msr driver has the same
problem.

Both the cpuid and the msr modules successfully loaded on 2.2.18 when
I tried to cat /dev/cpu/cpuid and /dev/cpu/msr. (Although they both
remained flagged as (unused), which I found strange considering the
amount of output I got.)

Cheers,
Chris



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



Re: /dev/cpu/*/(cpuid, msr) unhappy as modules - OOPS!

2000-12-14 Thread Chris Rankin

Devfs might explain the 2.4.0-test12 oopses, but it can't possibly
explain the oops with 2.2.18. I don't use devfs with 2.2.18.

Chris
 
> Looks like a devfs problem; complain to the appropriate people.  I refuse 
> to touch that particular devfs code.
> 
> > I have just compiled Linux 2.2.18 (UP) and Linux 2.4.0-test12 (SMP,
> > devfs), and in each case I compiled the msr and cpuid drivers as
> > modules. However, when I tried to read from the devices (using "cat"),
> > I got oopses from both 2.2.18 and 2.4.0-test12. Neither the msr.o nor
> > the cpuid.o modules were loaded beforehand, as I was testing my kmod
> > setup. The oopses are below:

[2.4.0-test12 oopses removed]

> > Linux-2.2.18 (1 oops):
> > $ ksymoops -m /boot/System.map-2.2.18 < oops.txt 
> > ksymoops 2.3.4 on i586 2.2.18.  Options used
> >  -V (default)
> >  -k /proc/ksyms (default)
> >  -l /proc/modules (default)
> >  -o /lib/modules/2.2.18/ (default)
> >  -m /boot/System.map-2.2.18 (specified)
> > 
> > Warning (compare_maps): ksyms_base symbol module_list_R__ver_module_list 
> not found in System.map.  Ignoring ksyms_base entry
> > Dec 13 01:31:18 wellhouse kernel: Unable to handle kernel paging request 
> at virtual address c887027c
> > Dec 13 01:31:18 wellhouse kernel: current->tss.cr3 = 007ad000, %%cr3 = 
> 007ad000
> > Dec 13 01:31:18 wellhouse kernel: *pde = 01472063
> > Dec 13 01:31:18 wellhouse kernel: Oops: 
> > Dec 13 01:31:18 wellhouse kernel: CPU:0
> > Dec 13 01:31:18 wellhouse kernel: EIP:0010:[chrdev_open+56/88]
> > Dec 13 01:31:18 wellhouse kernel: EFLAGS: 00010286
> > Dec 13 01:31:18 wellhouse kernel: eax: c8870260   ebx: ffed   ecx: 
>    edx: 00cb
> > Dec 13 01:31:18 wellhouse kernel: esi: c34d4380   edi: c0565e60   ebp: 
> c3c35900   esp: c3b47f4c
> > Dec 13 01:31:18 wellhouse kernel: ds: 0018   es: 0018   ss: 0018
> > Dec 13 01:31:18 wellhouse kernel: Process cat (pid: 1645, process nr: 53, 
> stackpage=c3b47000)
> > Dec 13 01:31:18 wellhouse kernel: Stack: c0565e60 8000 0003 
> 400e88b3 ba4c c012497c c0565e60 c34d4380 
> > Dec 13 01:31:18 wellhouse kernel: c01248d5 0003 
> c05a3000 400e88b3 ba4c  c398549c 
> > Dec 13 01:31:18 wellhouse kernel:0400 c0124b6f c05a3000 
> 8000  c0124b56 c3b46000 40013ed0 
> > Dec 13 01:31:18 wellhouse kernel: Call Trace: [filp_open+184/264] 
> [filp_open+17/264] [sys_open+63/160] [sys_open+38/160] [error_code+45/64] [
> > system_call+52/64] 
> > Dec 13 01:31:18 wellhouse kernel: Code: 8b 40 1c 31 db 85 c0 74 0c 83 c4 
> f8 56 57 ff d0 89 c3 83 c4 
> > Using defaults from ksymoops -t elf32-i386 -a i386
> > 
> > Code;   Before first symbol
> >  <_EIP>:
> > Code;   Before first symbol
> >0:   8b 40 1c  mov0x1c(%eax),%eax
> > Code;  0003 Before first symbol
> >3:   31 db xor%ebx,%ebx
> > Code;  0005 Before first symbol
> >5:   85 c0 test   %eax,%eax
> > Code;  0007 Before first symbol
> >7:   74 0c je 15 <_EIP+0x15> 0015 Before 
> first symbol
> > Code;  0009 Before first symbol
> >9:   83 c4 f8  add$0xfff8,%esp
> > Code;  000c Before first symbol
> >c:   56push   %esi
> > Code;  000d Before first symbol
> >d:   57push   %edi
> > Code;  000e Before first symbol
> >e:   ff d0 call   *%eax
> > Code;  0010 Before first symbol
> >   10:   89 c3 mov%eax,%ebx
> > Code;  0012 Before first symbol
> >   12:   83 c4 00  add$0x0,%esp
> > 
> > 
> > 1 warning issued.  Results may not be reliable.
> > 
> > I know they're not exactly show-stoppers, but here they are anyway.
> > Cheers,
> > Chris
> > 
> 
> 

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



Re: /dev/cpu/*/(cpuid, msr) unhappy as modules - OOPS!

2000-12-14 Thread Chris Rankin

Devfs might explain the 2.4.0-test12 oopses, but it can't possibly
explain the oops with 2.2.18. I don't use devfs with 2.2.18.

Chris
 
 Looks like a devfs problem; complain to the appropriate people.  I refuse 
 to touch that particular devfs code.
 
  I have just compiled Linux 2.2.18 (UP) and Linux 2.4.0-test12 (SMP,
  devfs), and in each case I compiled the msr and cpuid drivers as
  modules. However, when I tried to read from the devices (using "cat"),
  I got oopses from both 2.2.18 and 2.4.0-test12. Neither the msr.o nor
  the cpuid.o modules were loaded beforehand, as I was testing my kmod
  setup. The oopses are below:

[2.4.0-test12 oopses removed]

  Linux-2.2.18 (1 oops):
  $ ksymoops -m /boot/System.map-2.2.18  oops.txt 
  ksymoops 2.3.4 on i586 2.2.18.  Options used
   -V (default)
   -k /proc/ksyms (default)
   -l /proc/modules (default)
   -o /lib/modules/2.2.18/ (default)
   -m /boot/System.map-2.2.18 (specified)
  
  Warning (compare_maps): ksyms_base symbol module_list_R__ver_module_list 
 not found in System.map.  Ignoring ksyms_base entry
  Dec 13 01:31:18 wellhouse kernel: Unable to handle kernel paging request 
 at virtual address c887027c
  Dec 13 01:31:18 wellhouse kernel: current-tss.cr3 = 007ad000, %%cr3 = 
 007ad000
  Dec 13 01:31:18 wellhouse kernel: *pde = 01472063
  Dec 13 01:31:18 wellhouse kernel: Oops: 
  Dec 13 01:31:18 wellhouse kernel: CPU:0
  Dec 13 01:31:18 wellhouse kernel: EIP:0010:[chrdev_open+56/88]
  Dec 13 01:31:18 wellhouse kernel: EFLAGS: 00010286
  Dec 13 01:31:18 wellhouse kernel: eax: c8870260   ebx: ffed   ecx: 
    edx: 00cb
  Dec 13 01:31:18 wellhouse kernel: esi: c34d4380   edi: c0565e60   ebp: 
 c3c35900   esp: c3b47f4c
  Dec 13 01:31:18 wellhouse kernel: ds: 0018   es: 0018   ss: 0018
  Dec 13 01:31:18 wellhouse kernel: Process cat (pid: 1645, process nr: 53, 
 stackpage=c3b47000)
  Dec 13 01:31:18 wellhouse kernel: Stack: c0565e60 8000 0003 
 400e88b3 ba4c c012497c c0565e60 c34d4380 
  Dec 13 01:31:18 wellhouse kernel: c01248d5 0003 
 c05a3000 400e88b3 ba4c  c398549c 
  Dec 13 01:31:18 wellhouse kernel:0400 c0124b6f c05a3000 
 8000  c0124b56 c3b46000 40013ed0 
  Dec 13 01:31:18 wellhouse kernel: Call Trace: [filp_open+184/264] 
 [filp_open+17/264] [sys_open+63/160] [sys_open+38/160] [error_code+45/64] [
  system_call+52/64] 
  Dec 13 01:31:18 wellhouse kernel: Code: 8b 40 1c 31 db 85 c0 74 0c 83 c4 
 f8 56 57 ff d0 89 c3 83 c4 
  Using defaults from ksymoops -t elf32-i386 -a i386
  
  Code;   Before first symbol
   _EIP:
  Code;   Before first symbol
 0:   8b 40 1c  mov0x1c(%eax),%eax
  Code;  0003 Before first symbol
 3:   31 db xor%ebx,%ebx
  Code;  0005 Before first symbol
 5:   85 c0 test   %eax,%eax
  Code;  0007 Before first symbol
 7:   74 0c je 15 _EIP+0x15 0015 Before 
 first symbol
  Code;  0009 Before first symbol
 9:   83 c4 f8  add$0xfff8,%esp
  Code;  000c Before first symbol
 c:   56push   %esi
  Code;  000d Before first symbol
 d:   57push   %edi
  Code;  000e Before first symbol
 e:   ff d0 call   *%eax
  Code;  0010 Before first symbol
10:   89 c3 mov%eax,%ebx
  Code;  0012 Before first symbol
12:   83 c4 00  add$0x0,%esp
  
  
  1 warning issued.  Results may not be reliable.
  
  I know they're not exactly show-stoppers, but here they are anyway.
  Cheers,
  Chris
  
 
 

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



Re: /dev/cpu/*/(cpuid, msr) unhappy as modules - OOPS!

2000-12-14 Thread Chris Rankin

 Looks like a devfs problem; complain to the appropriate people.  I refuse 
 to touch that particular devfs code.

I've had a quick look at both the 2.2.18 and 2.4.0-test12 drivers for
msr and cpuid, and I've noticed something curious.

This is the comment from 2.4.0-test12, cpuid.c:

/*
 * cpuid.c
 *
 * x86 CPUID access device
 *
 * This device is accessed by lseek() to the appropriate CPUID level
 * and then read in chunks of 16 bytes.  A larger size means multiple
 * reads of consecutive levels.
 *
 * This driver uses /dev/cpu/%d/cpuid where %d is the minor number, and on
 * an SMP box will direct the access to CPU %d.
 */

And this is the initialisation function:

int __init cpuid_init(void)
{
  if (register_chrdev(CPUID_MAJOR, "cpu/cpuid", cpuid_fops)) {
printk(KERN_ERR "cpuid: unable to get major %d for cpuid\n",
 CPUID_MAJOR);
return -EBUSY;
  }

  return 0;
}

These two are inconsistent! I had dutifully created a /dev/cpu/0
directory on my 2.2.18 and 2.4.0-test12 boxes, and had placed cpuid
device nodes inside them. (The 2.4.0-test12 box is SMP, and so I also
created a /dev/cpu/1 directory there too.) However, the driver expects
the device node to be /dev/cpu/cpuid. The msr driver has the same
problem.

Both the cpuid and the msr modules successfully loaded on 2.2.18 when
I tried to cat /dev/cpu/cpuid and /dev/cpu/msr. (Although they both
remained flagged as (unused), which I found strange considering the
amount of output I got.)

Cheers,
Chris



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



Re: /dev/cpu/*/(cpuid, msr) unhappy as modules - OOPS!

2000-12-14 Thread Chris Rankin

OK, I've just tried repeating this experiment on 2.2.18 (no devfs) and
it oopsed this time, so there's obviously something else going on
here.

$ ksymoops -m /boot/System.map-2.2.18  oops2.txt 
ksymoops 2.3.4 on i586 2.2.18.  Options used
 -V (default)
 -k /proc/ksyms (default)
 -l /proc/modules (default)
 -o /lib/modules/2.2.18/ (default)
 -m /boot/System.map-2.2.18 (specified)

Warning (compare_maps): ksyms_base symbol module_list_R__ver_module_list not found in 
System.map.  Ignoring ksyms_base entry
Dec 14 22:03:53 wellhouse kernel: Unable to handle kernel paging request at virtual 
address c888a27c
Dec 14 22:03:53 wellhouse kernel: current-tss.cr3 = 03003000, %%cr3 = 03003000
Dec 14 22:03:53 wellhouse kernel: *pde = 013f2063
Dec 14 22:03:53 wellhouse kernel: Oops: 
Dec 14 22:03:53 wellhouse kernel: CPU:0
Dec 14 22:03:53 wellhouse kernel: EIP:0010:[chrdev_open+56/88]
Dec 14 22:03:53 wellhouse kernel: EFLAGS: 00010286
Dec 14 22:03:53 wellhouse kernel: eax: c888a260   ebx: ffed   ecx:    edx: 
00cb
Dec 14 22:03:53 wellhouse kernel: esi: c25ba8c0   edi: c18c2288   ebp: c3c50ca0   esp: 
c0ef9f4c
Dec 14 22:03:53 wellhouse kernel: ds: 0018   es: 0018   ss: 0018
Dec 14 22:03:53 wellhouse kernel: Process cat (pid: 7021, process nr: 61, 
stackpage=c0ef9000)
Dec 14 22:03:53 wellhouse kernel: Stack: c18c2288 8000 0003 400e88b3 ba6c 
c012497c c18c2288 c25ba8c0 
Dec 14 22:03:53 wellhouse kernel: c01248d5 0003 c398a000 400e88b3 
ba6c  c16b427c 
Dec 14 22:03:53 wellhouse kernel:0400 c0124b6f c398a000 8000  
c0124b56 c0ef8000 40013ed0 
Dec 14 22:03:53 wellhouse kernel: Call Trace: [filp_open+184/264] [filp_open+17/264] 
[sys_open+63/160] [sys_open+38/160] [error_code+45/64] [system_call+52/64] 
Dec 14 22:03:53 wellhouse kernel: Code: 8b 40 1c 31 db 85 c0 74 0c 83 c4 f8 56 57 ff 
d0 89 c3 83 c4 
Using defaults from ksymoops -t elf32-i386 -a i386

Code;   Before first symbol
 _EIP:
Code;   Before first symbol
   0:   8b 40 1c  mov0x1c(%eax),%eax
Code;  0003 Before first symbol
   3:   31 db xor%ebx,%ebx
Code;  0005 Before first symbol
   5:   85 c0 test   %eax,%eax
Code;  0007 Before first symbol
   7:   74 0c je 15 _EIP+0x15 0015 Before first symbol
Code;  0009 Before first symbol
   9:   83 c4 f8  add$0xfff8,%esp
Code;  000c Before first symbol
   c:   56push   %esi
Code;  000d Before first symbol
   d:   57push   %edi
Code;  000e Before first symbol
   e:   ff d0 call   *%eax
Code;  0010 Before first symbol
  10:   89 c3 mov%eax,%ebx
Code;  0012 Before first symbol
  12:   83 c4 00  add$0x0,%esp


1 warning issued.  Results may not be reliable.

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



/dev/cpu/*/(cpuid, msr) unhappy as modules - OOPS!

2000-12-12 Thread Chris Rankin

Hi,
I have just compiled Linux 2.2.18 (UP) and Linux 2.4.0-test12 (SMP,
devfs), and in each case I compiled the msr and cpuid drivers as
modules. However, when I tried to read from the devices (using "cat"),
I got oopses from both 2.2.18 and 2.4.0-test12. Neither the msr.o nor
the cpuid.o modules were loaded beforehand, as I was testing my kmod
setup. The oopses are below:

Linux-2.4.0-test12 (2 oopses):
$ ksymoops -m /boot/System.map-2.4.0-test12 < oops1.txt 
ksymoops 2.3.4 on i686 2.4.0-test12.  Options used
 -V (default)
 -k /proc/ksyms (default)
 -l /proc/modules (default)
 -o /lib/modules/2.4.0-test12/ (default)
 -m /boot/System.map-2.4.0-test12 (specified)

Dec 13 01:17:47 twopit kernel: Unable to handle kernel paging request at virtual 
address d084a540
Dec 13 01:17:47 twopit kernel: c0133d8a
Dec 13 01:17:47 twopit kernel: *pde = 0146b063
Dec 13 01:17:47 twopit kernel: Oops: 
Dec 13 01:17:47 twopit kernel: CPU:1
Dec 13 01:17:47 twopit kernel: EIP:0010:[get_chrfops+78/368]
Dec 13 01:17:47 twopit kernel: EFLAGS: 00010282
Dec 13 01:17:47 twopit kernel: eax: 0650   ebx: d084a540   ecx: c0215280   edx: 
c0268de4
Dec 13 01:17:47 twopit kernel: esi:    edi: 0650   ebp: 00ca   esp: 
cb505ee8
Dec 13 01:17:47 twopit kernel: ds: 0018   es: 0018   ss: 0018
Dec 13 01:17:47 twopit kernel: Process cat (pid: 1681, stackpage=cb505000)
Dec 13 01:17:47 twopit kernel: Stack: cf41e140 cccfef60 ffed cb998580 c0215280 
c02158b8 cbcd7840  
Dec 13 01:17:47 twopit kernel:c013ed99 c999ca60 c013403a 00ca 0001 
cf41e140 ffed cf41e144 
Dec 13 01:17:47 twopit kernel:cb998580 c015b5d1 cb998580 cccfef60 cccfef60 
cb998580 ffe9 c14fa240 
Dec 13 01:17:47 twopit kernel: Call Trace: [path_walk+1997/2196] [chrdev_open+38/172] 
[devfs_open+277/500] [dentry_open+189/332] [filp_open+82/92] [sys_open+60/240] 
[system_call+51/56] 
Dec 13 01:17:47 twopit kernel: Code: 8b 03 85 c0 74 10 50 e8 62 8b fe ff 83 c4 04 85 
c0 74 09 8d 
Using defaults from ksymoops -t elf32-i386 -a i386

Code;   Before first symbol
 <_EIP>:
Code;   Before first symbol
   0:   8b 03 mov(%ebx),%eax
Code;  0002 Before first symbol
   2:   85 c0 test   %eax,%eax
Code;  0004 Before first symbol
   4:   74 10 je 16 <_EIP+0x16> 0016 Before first symbol
Code;  0006 Before first symbol
   6:   50push   %eax
Code;  0007 Before first symbol
   7:   e8 62 8b fe ffcall   fffe8b6e <_EIP+0xfffe8b6e> fffe8b6e 

Code;  000c Before first symbol
   c:   83 c4 04  add$0x4,%esp
Code;  000f Before first symbol
   f:   85 c0 test   %eax,%eax
Code;  0011 Before first symbol
  11:   74 09 je 1c <_EIP+0x1c> 001c Before first symbol
Code;  0013 Before first symbol
  13:   8d 00 lea(%eax),%eax

$ ksymoops -m /boot/System.map-2.4.0-test12 < oops2.txt 
ksymoops 2.3.4 on i686 2.4.0-test12.  Options used
 -V (default)
 -k /proc/ksyms (default)
 -l /proc/modules (default)
 -o /lib/modules/2.4.0-test12/ (default)
 -m /boot/System.map-2.4.0-test12 (specified)

Dec 13 01:20:02 twopit kernel: Unable to handle kernel paging request at virtual 
address d084a540
Dec 13 01:20:02 twopit kernel: c0133d8a
Dec 13 01:20:02 twopit kernel: *pde = 0146b063
Dec 13 01:20:02 twopit kernel: Oops: 
Dec 13 01:20:02 twopit kernel: CPU:0
Dec 13 01:20:02 twopit kernel: EIP:0010:[get_chrfops+78/368]
Dec 13 01:20:02 twopit kernel: EFLAGS: 00010282
Dec 13 01:20:02 twopit kernel: eax: 0650   ebx: d084a540   ecx: c0215280   edx: 
c0268de4
Dec 13 01:20:02 twopit kernel: esi:    edi: 0650   ebp: 00ca   esp: 
cb52bee8
Dec 13 01:20:02 twopit kernel: ds: 0018   es: 0018   ss: 0018
Dec 13 01:20:02 twopit kernel: Process cat (pid: 1691, stackpage=cb52b000)
Dec 13 01:20:02 twopit kernel: Stack: cf41e140 cc605bc0 ffed cb998580 c0215280 
c02158b8 cbcd7840  
Dec 13 01:20:02 twopit kernel:c013ed99 c999ca60 c013403a 00ca 0001 
cf41e140 ffed cf41e144 
Dec 13 01:20:02 twopit kernel:cb998580 c015b5d1 cb998580 cc605bc0 cc605bc0 
cb998580 ffe9 c14fa240 
Dec 13 01:20:02 twopit kernel: Call Trace: [path_walk+1997/2196] [chrdev_open+38/172] 
[devfs_open+277/500] [dentry_open+189/332] [filp_open+82/92] [sys_open+60/240] 
[system_call+51/56] 
Dec 13 01:20:02 twopit kernel: Code: 8b 03 85 c0 74 10 50 e8 62 8b fe ff 83 c4 04 85 
c0 74 09 8d 
Using defaults from ksymoops -t elf32-i386 -a i386

Code;   Before first symbol
 <_EIP>:
Code;   Before first symbol
   0:   8b 03 mov(%ebx),%eax
Code;  0002 Before first symbol
   2:   85 c0 test   %eax,%eax
Code;  0004 Before first symbol
   4:   74 10 je 16 <_EIP+0x16> 

/dev/cpu/*/(cpuid, msr) unhappy as modules - OOPS!

2000-12-12 Thread Chris Rankin

Hi,
I have just compiled Linux 2.2.18 (UP) and Linux 2.4.0-test12 (SMP,
devfs), and in each case I compiled the msr and cpuid drivers as
modules. However, when I tried to read from the devices (using "cat"),
I got oopses from both 2.2.18 and 2.4.0-test12. Neither the msr.o nor
the cpuid.o modules were loaded beforehand, as I was testing my kmod
setup. The oopses are below:

Linux-2.4.0-test12 (2 oopses):
$ ksymoops -m /boot/System.map-2.4.0-test12  oops1.txt 
ksymoops 2.3.4 on i686 2.4.0-test12.  Options used
 -V (default)
 -k /proc/ksyms (default)
 -l /proc/modules (default)
 -o /lib/modules/2.4.0-test12/ (default)
 -m /boot/System.map-2.4.0-test12 (specified)

Dec 13 01:17:47 twopit kernel: Unable to handle kernel paging request at virtual 
address d084a540
Dec 13 01:17:47 twopit kernel: c0133d8a
Dec 13 01:17:47 twopit kernel: *pde = 0146b063
Dec 13 01:17:47 twopit kernel: Oops: 
Dec 13 01:17:47 twopit kernel: CPU:1
Dec 13 01:17:47 twopit kernel: EIP:0010:[get_chrfops+78/368]
Dec 13 01:17:47 twopit kernel: EFLAGS: 00010282
Dec 13 01:17:47 twopit kernel: eax: 0650   ebx: d084a540   ecx: c0215280   edx: 
c0268de4
Dec 13 01:17:47 twopit kernel: esi:    edi: 0650   ebp: 00ca   esp: 
cb505ee8
Dec 13 01:17:47 twopit kernel: ds: 0018   es: 0018   ss: 0018
Dec 13 01:17:47 twopit kernel: Process cat (pid: 1681, stackpage=cb505000)
Dec 13 01:17:47 twopit kernel: Stack: cf41e140 cccfef60 ffed cb998580 c0215280 
c02158b8 cbcd7840  
Dec 13 01:17:47 twopit kernel:c013ed99 c999ca60 c013403a 00ca 0001 
cf41e140 ffed cf41e144 
Dec 13 01:17:47 twopit kernel:cb998580 c015b5d1 cb998580 cccfef60 cccfef60 
cb998580 ffe9 c14fa240 
Dec 13 01:17:47 twopit kernel: Call Trace: [path_walk+1997/2196] [chrdev_open+38/172] 
[devfs_open+277/500] [dentry_open+189/332] [filp_open+82/92] [sys_open+60/240] 
[system_call+51/56] 
Dec 13 01:17:47 twopit kernel: Code: 8b 03 85 c0 74 10 50 e8 62 8b fe ff 83 c4 04 85 
c0 74 09 8d 
Using defaults from ksymoops -t elf32-i386 -a i386

Code;   Before first symbol
 _EIP:
Code;   Before first symbol
   0:   8b 03 mov(%ebx),%eax
Code;  0002 Before first symbol
   2:   85 c0 test   %eax,%eax
Code;  0004 Before first symbol
   4:   74 10 je 16 _EIP+0x16 0016 Before first symbol
Code;  0006 Before first symbol
   6:   50push   %eax
Code;  0007 Before first symbol
   7:   e8 62 8b fe ffcall   fffe8b6e _EIP+0xfffe8b6e fffe8b6e 
END_OF_CODE+2f726606/
Code;  000c Before first symbol
   c:   83 c4 04  add$0x4,%esp
Code;  000f Before first symbol
   f:   85 c0 test   %eax,%eax
Code;  0011 Before first symbol
  11:   74 09 je 1c _EIP+0x1c 001c Before first symbol
Code;  0013 Before first symbol
  13:   8d 00 lea(%eax),%eax

$ ksymoops -m /boot/System.map-2.4.0-test12  oops2.txt 
ksymoops 2.3.4 on i686 2.4.0-test12.  Options used
 -V (default)
 -k /proc/ksyms (default)
 -l /proc/modules (default)
 -o /lib/modules/2.4.0-test12/ (default)
 -m /boot/System.map-2.4.0-test12 (specified)

Dec 13 01:20:02 twopit kernel: Unable to handle kernel paging request at virtual 
address d084a540
Dec 13 01:20:02 twopit kernel: c0133d8a
Dec 13 01:20:02 twopit kernel: *pde = 0146b063
Dec 13 01:20:02 twopit kernel: Oops: 
Dec 13 01:20:02 twopit kernel: CPU:0
Dec 13 01:20:02 twopit kernel: EIP:0010:[get_chrfops+78/368]
Dec 13 01:20:02 twopit kernel: EFLAGS: 00010282
Dec 13 01:20:02 twopit kernel: eax: 0650   ebx: d084a540   ecx: c0215280   edx: 
c0268de4
Dec 13 01:20:02 twopit kernel: esi:    edi: 0650   ebp: 00ca   esp: 
cb52bee8
Dec 13 01:20:02 twopit kernel: ds: 0018   es: 0018   ss: 0018
Dec 13 01:20:02 twopit kernel: Process cat (pid: 1691, stackpage=cb52b000)
Dec 13 01:20:02 twopit kernel: Stack: cf41e140 cc605bc0 ffed cb998580 c0215280 
c02158b8 cbcd7840  
Dec 13 01:20:02 twopit kernel:c013ed99 c999ca60 c013403a 00ca 0001 
cf41e140 ffed cf41e144 
Dec 13 01:20:02 twopit kernel:cb998580 c015b5d1 cb998580 cc605bc0 cc605bc0 
cb998580 ffe9 c14fa240 
Dec 13 01:20:02 twopit kernel: Call Trace: [path_walk+1997/2196] [chrdev_open+38/172] 
[devfs_open+277/500] [dentry_open+189/332] [filp_open+82/92] [sys_open+60/240] 
[system_call+51/56] 
Dec 13 01:20:02 twopit kernel: Code: 8b 03 85 c0 74 10 50 e8 62 8b fe ff 83 c4 04 85 
c0 74 09 8d 
Using defaults from ksymoops -t elf32-i386 -a i386

Code;   Before first symbol
 _EIP:
Code;   Before first symbol
   0:   8b 03 mov(%ebx),%eax
Code;  0002 Before first symbol
   2:   85 c0 test   %eax,%eax
Code;  0004 Before first symbol
   4:   74 10 je 16