lkml.org 
[lkml]   [1998]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
DateWed, 18 Nov 1998 21:35:02 +0100 (MET)
From"Maciej W. Rozycki" <>
SubjectA repeatable Oops when unloading ne (rtnetlink problem?)
Hi,

This Oops is 100% repeatable in 2.1.128, i386/SMP. When I have the
following modules loaded:

Module Size Used by
serial 17780 2 (autoclean)
autofs 9544 1 (autoclean)
ipv6 91856 -1 (autoclean)
ne 6384 0 (autoclean)
8390 6080 0 (autoclean) [ne]
ipx 12348 0 (autoclean)
nls_cp437 3548 3 (autoclean)
msdos 8348 3 (autoclean)
fat 24320 3 (autoclean) [msdos]
devpts 3304 1 (autoclean)
unix 10676 24

and I perform:

# rmmod ne

then an Oops is generated.

Attached there is the Oops and an edited objdump -S output from
rtnetlink.o. The problematic instruction is marked by a series of caret
(^) characters. If anyone can deduce anything useful from this report
that will be great. I may supply other information if needed.

Maciej

--
+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
+--------------------------------------------------------------+
+ e-mail: macro@ds2.pg.gda.pl, PGP key available +Using `/boot/System.map-2.1.128' to map addresses to symbols.

>>EIP: c0150e52 <__rta_fill+72/8c>
Trace: c283f520
Trace: c0151122 <rtnetlink_fill_ifinfo+262/2a0>
Trace: c283f520
Trace: c283f520
Trace: c01512ba <rtmsg_ifinfo+2a/68>
Trace: c283f520
Trace: c015181c <rtnetlink_event+18/20>
Trace: c283f520
Trace: c014e918 <unregister_netdevice+3c/c0>
Trace: c283f520
Trace: c283f520
Trace: c018cff4 <unregister_netdev+10/20>
Trace: c283f520
Trace: c283ed51
Trace: c283f520
Trace: c283f520
Trace: c283e000
Trace: c283e000
Trace: c0117668 <free_module+20/94>
Trace: c283e000
Trace: c0116c84 <sys_delete_module+140/1f4>
Trace: c283e000
Trace: c0108aa0 <system_call+34/38>
Code: c0150e52 <__rta_fill+72/8c>
Code: c0150e52 <__rta_fill+72/8c> f3 a5 repz movsl %ds:(%esi),%es:(%edi)
Code: c0150e54 <__rta_fill+74/8c> f6 c3 02 testb $0x2,%bl
Code: c0150e57 <__rta_fill+77/8c> 74 02 je c0150e5b <__rta_fill+7b/8c>
Code: c0150e59 <__rta_fill+79/8c> 66 a5 movsw %ds:(%esi),%es:(%edi)
Code: c0150e5b <__rta_fill+7b/8c> f6 c3 01 testb $0x1,%bl
Code: c0150e5e <__rta_fill+7e/8c> 74 01 je c0150e61 <__rta_fill+81/8c>
Code: c0150e60 <__rta_fill+80/8c> a4 movsb %ds:(%esi),%es:(%edi)
Code: c0150e61 <__rta_fill+81/8c> 5b popl %ebx
Code: c0150e62 <__rta_fill+82/8c> 5e popl %esi
Code: c0150e63 <__rta_fill+83/8c> 5f popl %edi
Code: c0150e64 <__rta_fill+84/8c> 5d popl %ebp
Code: c0150e65 <__rta_fill+85/8c> 83 00 90 addl $0xffffff90,(%eax)
Code: c0150e68 <__rta_fill+88/8c> 90 nop
Code: c0150e69 <__rta_fill+89/8c> 90 nop 00000144 <__rta_fill>:
[...]
extern inline void * __memcpy(void * to, const void * from, size_t n)
{
1a1: 8b 54 24 14 movl 0x14(%esp,1),%edx
__asm__ __volatile__(
1a5: 89 d8 movl %ebx,%eax
1a7: 83 c2 04 addl $0x4,%edx
1aa: c1 e8 02 shrl $0x2,%eax
1ad: 89 c1 movl %eax,%ecx
1af: 89 d7 movl %edx,%edi
1b1: 8b 74 24 28 movl 0x28(%esp,1),%esi
1b5: fc cld
1b6: f3 a5 repz movsl %ds:(%esi),%es:(%edi)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1b8: f6 c3 02 testb $0x2,%bl
1bb: 74 02 je 1bf <__rta_fill+0x7b>
1bd: 66 a5 movsw %ds:(%esi),%es:(%edi)
1bf: f6 c3 01 testb $0x1,%bl
1c2: 74 01 je 1c5 <__rta_fill+0x81>
1c4: a4 movsb %ds:(%esi),%es:(%edi)
memcpy(RTA_DATA(rta), data, attrlen);
}
1c5: 5b popl %ebx
1c6: 5e popl %esi
1c7: 5f popl %edi
1c8: 5d popl %ebp
1c9: 83 c4 08 addl $0x8,%esp
1cc: c3 ret
\
 
 \ /
  Last update: 2005-03-22 13:45    [from the cache]
©2003-2010