Oops in 2.1.[23]x on /dev/msr access

Boris Tobotras (boris@xtalk.msk.su)
Fri, 11 Apr 1997 14:31:46 +0400


general protection: 0000
CPU: 0
EIP: 0010:[<c01998e8>]
EFLAGS: 00010286
eax: c1c775c0 ebx: bffffa28 ecx: 00000080 edx: 00000080
esi: ffffffea edi: 00000008 ebp: 00000080 esp: c062ef80
ds: 0018 es: 0018 ss: 0018
Process rdmsr (pid: 4471, process nr: 6, stackpage=c062e000)
Stack: c1c775c0 ffffffea 00000008 c06eee88 00000000 00000080 c0123b85 c0123d23
c06eee88 c1c775c0 bffffa28 00000008 c02c7018 00000003 00000080 bffff9fc
c010a4b8 00000003 bffffa28 00000008 00000003 00000080 bffff9fc 00000003
Call Trace: [<c0123b85>] [<c0123d23>] [<c010a4b8>]
Code: 0f 32 89 44 24 14 89 d5 89 6c 24 18 8d 6c 24 18 c7 44 24 10
Code: 00000000 <_EIP> rdmsr
Code: 00000002 <_EIP+2> movl %eax,0x14(%esp,1)
Code: 00000006 <_EIP+6> movl %edx,%ebp
Code: 00000008 <_EIP+8> movl %ebp,0x18(%esp,1)
Code: 0000000c <_EIP+c> leal 0x18(%esp,1),%ebp
Code: 00000010 <_EIP+10> movl $0x90909000,0x10(%esp,1)

That was on execution of 8 byte read from /dev/msr, MSR#0x80. AMD K5-PR90.
Yes, there is no such MSR in this CPU, but I believe, an exception should be
trapped in kernel and ENXIO or similar should be returned from read()/write().

--
	Best regards, -- Boris.