Skip to contentSkip to conversation

linked list corruption/use after free on bonding unload.

DISCUSSION Dave Jones 2 participants 3 messages Apr 9, 2013

Subsystems (2)
lore
Share & tools
lore

Dave Jones

author
#0 lore raw

Just hit this while doing a load/unload test of various modules. No bonding configuration had been set up, just the module loaded.

bonding: bond0: released all slaves

------------[ cut here ]------------
WARNING: at lib/list_debug.c:93 __list_del_entry+0xa1/0xd0()
Hardware name: GA-MA78GM-S2H
list_del corruption. prev->next should be ffff88005b420be8, but was 6b6b6b6b6b6b6b6b
Pid: 3886605, comm: modprobe Not tainted 3.9.0-rc6+ #19
Call Trace:
 [<ffffffff810450a5>] warn_slowpath_common+0x75/0xa0
 [<ffffffff8104511c>] warn_slowpath_fmt+0x4c/0x50
 [<ffffffff816b8502>] ? printk+0x67/0x69
 [<ffffffff81353df1>] __list_del_entry+0xa1/0xd0
 [<ffffffff81353e2d>] list_del+0xd/0x30
 [<ffffffffa14c444b>] bond_uninit+0x6b/0xd0 [bonding]
 [<ffffffff81581560>] rollback_registered_many+0x150/0x210
 [<ffffffff81581749>] unregister_netdevice_many+0x19/0x60
 [<ffffffff8159427e>] __rtnl_link_unregister+0x6e/0xb0
 [<ffffffff815942e3>] rtnl_link_unregister+0x23/0x30
 [<ffffffffa14ce96b>] bonding_exit+0x2d/0x6c2 [bonding]
 [<ffffffff810c5bc5>] sys_delete_module+0x165/0x2f0
 [<ffffffff810b6ac5>] ? trace_hardirqs_on_caller+0x115/0x1a0
 [<ffffffff8134b18e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
 [<ffffffff816cdcc2>] system_call_fastpath+0x16/0x1b
---[ end trace ffa4539b4be32cfa ]---
maintainer
#1 lore raw

From: Dave Jones <[email protected]>
Date: Tue, 9 Apr 2013 14:50:02 -0400

Quoted 2 lines

Just hit this while doing a load/unload test of various modules. No bonding configuration had been set up, just the module loaded.

What tree?

We recently had to revert a bonding "fix" and implement it differently. So Linus's tree could cause this oops on bonding unload but 'net' won't.

author
#2 lore raw
Quoted 7 lines · David Miller

From: Dave Jones <[email protected]>
Date: Tue, 9 Apr 2013 14:50:02 -0400

Quoted 2 lines

Just hit this while doing a load/unload test of various modules. No bonding configuration had been set up, just the module loaded.

What tree?

v3.9-rc6-13-gf011a08

Quoted 3 lines

We recently had to revert a bonding "fix" and implement it differently. So Linus's tree could cause this oops on bonding unload but 'net' won't.

ah, sounds promising. I'll retest when your next push lands.

thanks,
Dave