Can SLUB debugging show back-trace for deletion point?

From: Ben Greear
Date: Tue Oct 05 2010 - 14:02:15 EST



I'm debugging a wireless issue that is apparently a write-after-free
issue with skbs.

Oct 5 09:50:18 localhost kernel: =============================================================================
Oct 5 09:50:18 localhost kernel: BUG kmalloc-8192: Poison overwritten
Oct 5 09:50:18 localhost kernel: -----------------------------------------------------------------------------
Oct 5 09:50:18 localhost kernel:
Oct 5 09:50:18 localhost kernel: INFO: 0xf5b18040-0xf5b1812f. First byte 0x80 instead of 0x6b
Oct 5 09:50:18 localhost kernel: INFO: Allocated in ath_rxbuf_alloc+0x1d/0x74 [ath] age=54091 cpu=0 pid=613
Oct 5 09:50:18 localhost kernel: INFO: Freed in skb_release_data+0x8c/0x90 age=89 cpu=0 pid=4029
Oct 5 09:50:18 localhost kernel: INFO: Slab 0xc1fef300 objects=3 used=2 fp=0xf5b18000 flags=0x400040c1
Oct 5 09:50:18 localhost kernel: INFO: Object 0xf5b18000 @offset=0 fp=0x(null)
....

I get a backtrace for the point at which this is detected, but it seems what would
really be useful is a backtrace for where it was freed.

Is there any way to get that information printed out by slub debugging?

Thanks,
Ben

--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc http://www.candelatech.com

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/