Project

General

Profile

Bug #140

Updated by Sven Eckelmann about 7 years ago

Commit 7f32f2e8d97150ba5b80410dda86b01b0879fe8d (batman-adv: use rcu callbacks when freeing batman_if) introduces this bug and is still valid on current head of master branch (6336988932cae06a632f1534b6dbf4106acfc178). 

 I could trigger this with two VMs (2.6.29.6) connected with each other. The call trace appears when removing the module again. 

 <pre> 
 
 [ 2517.041002] batman_adv: B.A.T.M.A.N. advanced devel (compatibility version 12) loaded 
 [ 2517.344410] batman_adv: bat0: Adding interface: eth1 
 [ 2517.346528] batman_adv: bat0: The MTU of interface eth1 is too small (1500) 
 to handle the transport of batman-adv packets. Packets going over this interface 
 will be fragmented on layer2 which could impact the performance. Setting the MTU to 1527 would solve the problem. 
 [ 2517.355936] batman_adv: bat0: Interface activated: eth1 
 [ 2517.418926] batman_adv: bat0: Adding interface: eth2 
 [ 2517.421059] batman_adv: bat0: The MTU of interface eth2 is too small (1500) 
 to handle the transport of batman-adv packets. Packets going over this interface 
 will be fragmented on layer2 which could impact the performance. Setting the MTU to 1527 would solve the problem. 
 [ 2517.478851] batman_adv: bat0: Interface activated: eth2 
 [ 2522.997380] batman_adv: bat0: Interface deactivated: eth1 
 [ 2522.999743] batman_adv: bat0: Removing interface: eth1 
 [ 2523.002569] batman_adv: bat0: Interface deactivated: eth2 
 [ 2523.004800] batman_adv: bat0: Removing interface: eth2 
 [ 2523.059381] BUG: scheduling while atomic: rmmod/5792/0x10000100 
 [ 2523.061848] Modules linked in: batman_adv(-) [last unloaded: batman_adv] 
 [ 2523.064749]  
 [ 2523.065989] Pid: 5792, comm: rmmod Not tainted (2.6.29.6 #1) Bochs 
 [ 2523.068390] EIP: 0060:[<c103edfc>] EFLAGS: 00000292 CPU: 0 
 [ 2523.070775] EIP is at vprintk+0x262/0x285 
 [ 2523.072893] EAX: c1750dec EBX: ce665ed1 ECX: 0000b6b6 EDX: 00000046 
 [ 2523.075561] ESI: c1790ec2 EDI: 0000000f EBP: ce665f00 ESP: ce665ea8 
 [ 2523.078004]    DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 
 [ 2523.080405] CR0: 8005003b CR2: b7ee1920 CR3: 0fb57000 CR4: 00000690 
 [ 2523.082957] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 
 [ 2523.085436] DR6: ffff0ff0 DR7: 00000400 
 [ 2523.126448] Call Trace: 
 [ 2523.127943]    [<d2155a9a>] ? _purge_orig+0x168/0x170 [batman_adv] 
 [ 2523.130441]    [<c14219ac>] printk+0xf/0x11 
 [ 2523.132304]    [<d2154ac9>] hardif_disable_interface+0x36/0x10c [batman_adv] 
 [ 2523.134961]    [<d2154bb0>] hardif_remove_interface+0x11/0x3c [batman_adv] 
 [ 2523.137507]    [<d2154e43>] hardif_remove_interfaces+0x21/0x3a [batman_adv] 
 [ 2523.140210]    [<d2156d67>] batman_exit+0x17/0x9c [batman_adv] 
 [ 2523.142506]    [<c105eabf>] sys_delete_module+0x1a7/0x200 
 [ 2523.144680]    [<c108bd64>] ? remove_vma+0x46/0x4c 
 [ 2523.146722]    [<c108c953>] ? do_munmap+0x20a/0x225 
 [ 2523.148881]    [<c101ce7a>] syscall_call+0x7/0xb 
 [ 2523.150883]    [<c1420000>] ? migration_call+0x3b2/0x3c9 
 </pre>

Back