Messages in this thread |  | | | Date | Wed, 18 Nov 1998 21:35:02 +0100 (MET) | | From | "Maciej W. Rozycki" <> | | Subject | A 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 |  |