2008-12-10 02:49:33 Slab corruption in 06R2
Franky Zhang (CHINA)
Message: 66585
Hi everybody:
To debug the memory overflow problem in my bfin537_mac driver, in "Kernel hacking" config I selected "Debug memory allocations":
[*] Kernel debugging
[*] Debug memory allocations
which means:
CONFIG_DEBUG_SLAB:
Say Y here to have the kernel do limited verification on memory
allocation as well as poisoning memory on free to catch use of freed
memory. This can make kmalloc/kfree-intensive workloads much slower.
Then, I got many many error messages as follows:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Slab corruption: start=007eeaf8, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
010: 00 00 ff ff ff ff ff ff 00 0b 82 03 e6 45 08 06
020: 00 01 08 00 06 04 00 01 00 0b 82 03 e6 45 00 00
030: 00 00 00 00 00 00 00 00 c0 a8 8b b3 00 00 00 00
040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 bf 00
050: 6e f3 00 00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Prev obj: start=007ee2ec, len=2048
Redzone: 0x170fc2a5/0x170fc2a5.
Last user: [<000f16fc>](_bf537mac_interrupt+0x48/0x174)
000: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
010: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
Next obj: start=007ef304, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Slab corruption: start=03891264, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
010: 00 00 ff ff ff ff ff ff 00 50 8d 60 7e fb 08 06
020: 00 01 08 00 06 04 00 01 00 50 8d 60 7e fb c0 a8
030: 8b 90 00 00 00 00 00 00 c0 a8 8b fd 00 00 00 00
040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a5 d3
050: 1f 67 00 00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Prev obj: start=03890a58, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Slab corruption: start=03bbaa38, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
010: 00 00 ff ff ff ff ff ff 00 0b 82 03 e6 45 08 06
020: 00 01 08 00 06 04 00 01 6b 6b 6b 6b 6b 6b 6b 6b
Prev obj: start=03bba22c, len=2048
Redzone: 0x170fc2a5/0x170fc2a5.
Last user: [<000f16fc>](_bf537mac_interrupt+0x48/0x174)
000: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
010: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
Next obj: start=03bbb244, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Slab corruption: start=03982a98, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
010: 00 00 ff ff ff ff ff ff 00 11 09 77 e0 87 08 06
020: 00 01 08 00 06 04 00 01 00 11 09 77 e0 87 0a 00
030: 00 02 00 00 00 00 00 00 0a 00 00 5f 00 00 00 00
040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 86 c2
050: 57 fa 00 00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Prev obj: start=0398228c, len=2048
Redzone: 0x170fc2a5/0x170fc2a5.
Last user: [<000f16fc>](_bf537mac_interrupt+0x48/0x174)
000: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
010: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
Next obj: start=039832a4, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Slab corruption: start=03bc5604, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
010: 00 00 ff ff ff ff ff ff 00 1c 23 08 23 22 08 00
020: 45 00 00 46 48 17 00 00 80 11 a6 4c c0 a8 8b 9b
030: ff ff ff ff 03 ec 03 ec 00 32 16 cc ec 02 00 00
040: 19 09 00 00 00 35 2e 38 2e 35 2e 35 39 33 04 10
050: 83 19 01 00 00 00 00 00 00 00 04 00 00 00 f3 1d
060: 00 00 c0 a8 8b 9b 05 c3 cf 52 00 00 6b 6b 6b 6b
Prev obj: start=03bc4df8, len=2048
Redzone: 0x170fc2a5/0x170fc2a5.
Last user: [<000f16fc>](_bf537mac_interrupt+0x48/0x174)
000: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
010: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
Slab corruption: start=03bb6db8, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
010: 00 00 ff ff ff ff ff ff 00 1f d0 a2 f0 b3 08 00
020: 45 00 00 60 3d 75 00 00 80 11 74 72 c0 a8 83 55
030: c0 a8 83 ff 00 89 00 89 00 4c 3e e2 82 28 28 10
040: 00 01 00 00 00 00 00 01 20 46 48 45 50 46 43 45
050: 4c 45 48 46 43 45 50 46 46 46 41 43 41 43 41 43
060: 41 43 41 43 41 43 41 41 41 00 00 20 00 01 c0 0c
Prev obj: start=03bb65ac, len=2048
Redzone: 0x170fc2a5/0x170fc2a5.
Last user: [<000f16fc>](_bf537mac_interrupt+0x48/0x174)
000: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
010: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
Next obj: start=03bb75c4, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Slab corruption: start=03890dd8, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
010: 00 00 ff ff ff ff ff ff 00 11 5b f2 95 3c 08 00
020: 45 00 00 46 12 c4 00 00 40 11 1b ad c0 a8 8b 8e
030: ff ff ff ff 03 ec 03 ec 00 32 c6 f0 a4 03 00 00
040: 19 09 00 00 00 35 2e 38 2e 33 2e 35 35 36 04 10
050: 83 19 01 00 00 00 00 00 00 00 04 00 00 00 8f 11
060: 00 00 c0 a8 8b 8e 8e 18 ee b2 00 00 6b 6b 6b 6b
Prev obj: start=038905cc, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Next obj: start=038915e4, len=2048
Redzone: 0x170fc2a5/0x170fc2a5.
Last user: [<000f16fc>](_bf537mac_interrupt+0x48/0x174)
000: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
010: 00 00 ff ff ff ff ff ff 00 15 c5 71 95 3c 08 00
Slab corruption: start=038b41cc, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
010: 00 00 ff ff ff ff ff ff 00 1f d0 a2 f0 b3 08 00
020: 45 00 00 60 3d 7d 00 00 80 11 74 6a c0 a8 83 55
030: c0 a8 83 ff 00 89 00 89 00 4c eb ef 82 29 28 10
040: 00 01 00 00 00 00 00 01 20 45 48 45 4a 46 44 43
050: 41 43 41 43 41 43 41 43 41 43 41 43 41 43 41 43
060: 41 43 41 43 41 43 41 43 41 00 00 20 00 01 c0 0c
Next obj: start=038b49d8, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Slab corruption: start=0048b724, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
010: 00 00 ff ff ff ff ff ff 00 0b 82 03 e6 45 08 06
020: 00 01 08 00 06 04 00 01 00 0b 82 03 e6 45 00 00
030: 00 00 00 00 00 00 00 00 c0 a8 8b b3 00 00 00 00
040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 bf 00
050: 6e f3 00 00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Prev obj: start=0048af18, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Slab corruption: start=00482ed8, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
010: 00 00 ff ff ff ff ff ff 00 15 c5 71 3f 44 08 00
020: 45 00 00 4e 20 d9 00 00 40 11 c1 25 c0 a8 8b 50
030: c0 a8 8b ff 00 89 00 89 00 3a 6b c5 80 8f 01 10
040: 00 01 00 00 00 00 00 00 20 45 4e 46 44 45 49 45
050: 50 45 4e 45 46 43 41 43 41 43 41 43 41 43 41 43
060: 41 43 41 43 41 43 41 42 6b 6b 6b 6b 6b 6b 6b 6b
Prev obj: start=004826cc, len=2048
Redzone: 0x170fc2a5/0x170fc2a5.
Last user: [<000f16fc>](_bf537mac_interrupt+0x48/0x174)
000: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
010: 00 00 ff ff ff ff ff ff 00 16 ec 60 39 d8 08 00
Next obj: start=004836e4, len=2048
Redzone: 0x170fc2a5/0x170fc2a5.
Last user: [<000f16fc>](_bf537mac_interrupt+0x48/0x174)
000: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
010: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
Slab corruption: start=038b7064, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
010: 00 00 ff ff ff ff ff ff 00 0b 82 03 e6 20 08 06
020: 00 01 08 00 06 04 00 01 00 0b 82 03 e6 20 0a 00
030: 00 16 00 00 00 00 00 00 c0 a8 8b fd 00 00 00 00
040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9c 12
050: bb 88 00 00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Prev obj: start=038b6858, len=2048
Redzone: 0x170fc2a5/0x170fc2a5.
Last user: [<000f16fc>](_bf537mac_interrupt+0x48/0x174)
000: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
010: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
Slab corruption: start=03982df8, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
010: 00 00 ff ff ff ff ff ff 00 0b 82 03 e6 45 08 06
020: 00 01 08 00 06 04 00 01 00 0b 82 03 e6 45 00 00
030: 00 00 00 00 00 00 00 00 c0 a8 8b b3 00 00 00 00
040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 bf 00
050: 6e f3 00 00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Prev obj: start=039825ec, len=2048
Redzone: 0x170fc2a5/0x170fc2a5.
Last user: [<000f16fc>](_bf537mac_interrupt+0x48/0x174)
000: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
010: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
Next obj: start=03983604, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Slab corruption: start=03b3672c, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
010: 00 00 ff ff ff ff ff ff 00 0b 82 03 e6 20 08 06
020: 00 01 08 00 06 04 00 01 00 0b 82 03 e6 20 0a 00
030: 00 16 00 00 00 00 00 00 0a 00 00 e0 00 00 00 00
040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 78 5e
050: 68 67 00 00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Next obj: start=03b36f38, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Slab corruption: start=03bb63cc, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
010: 00 00 ff ff ff ff ff ff 00 11 5b f2 95 3c 08 00
020: 45 00 00 44 12 dc 00 00 40 11 1b 97 c0 a8 8b 8e
030: ff ff ff ff 03 ec 03 ec 00 30 e1 f0 a4 03 00 00
040: 11 09 00 00 00 35 2e 38 2e 33 2e 35 35 36 04 10
050: 83 19 c0 a8 8b 8e ec 03 00 00 00 00 04 00 00 00
060: 91 11 00 00 d6 4f 38 73 6b 6b 6b 6b 6b 6b 6b 6b
Next obj: start=03bb6bd8, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Slab corruption: start=0048844c, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
010: 00 00 ff ff 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
030: 6b 6b 6b 6b 00 00 00 00 d2 48 80 55 00 00 00 00
040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fa 24
050: b4 9a 00 00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Next obj: start=00488c58, len=2048
Redzone: 0x170fc2a5/0x170fc2a5.
Last user: [<000f16fc>](_bf537mac_interrupt+0x48/0x174)
000: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
010: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
Slab corruption: start=007e6bf8, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
010: 00 00 ff ff ff ff ff ff 00 09 45 60 00 00 08 00
020: 45 00 01 db 00 02 00 00 80 11 ed 07 c0 a8 8b 60
030: ff ff ff ff 04 01 20 21 01 c7 25 72 30 78 31 30
040: 33 38 3a 31 39 32 2e 31 36 38 2e 31 33 31 2e 38
050: 35 0d 0a 30 30 20 38 61 20 30 30 20 38 61 20 30
060: 30 20 62 36 20 32 63 20 33 32 20 31 31 20 30 32
Prev obj: start=007e63ec, len=2048
Redzone: 0x170fc2a5/0x170fc2a5.
Last user: [<000f16fc>](_bf537mac_interrupt+0x48/0x174)
000: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
010: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
Next obj: start=007e7404, len=2048
Redzone: 0x170fc2a5/0x170fc2a5.
Last user: [<000f16fc>](_bf537mac_interrupt+0x48/0x174)
000: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
010: 00 00 ff ff ff ff ff ff 00 60 70 cc 8d 54 08 06
Slab corruption: start=0048246c, len=2048
Redzone: 0x5a2cf071/0x5a2cf071.
Last user: [<0011cf40>](_kfree_skbmem+0xc/0xc0)
010: 00 00 ff ff ff ff ff ff 00 0b 82 03 e6 20 08 06
020: 00 01 08 00 06 04 00 01 00 0b 82 03 e6 20 0a 00
030: 00 16 00 00 00 00 00 00 0a 00 00 e0 00 00 00 00
040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 78 5e
050: 68 67 00 00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Next obj: start=00482c78, len=2048
Redzone: 0x170fc2a5/0x170fc2a5.
Last user: [<000f16fc>](_bf537mac_interrupt+0x48/0x174)
000: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a
010: 00 00 ff ff ff ff ff ff 00 0b 82 03 e6 20 08 06
The kernel version and tool chain version are 06R2.
I'd appreciate that if some one can tell me what does the slab corruption means? Is this a fator error or just a warning?
Much Thanks!
- Franky
TranslateQuoteReplyEditDelete
2008-12-10 09:16:13 Re: Slab corruption in 06R2
Robin Getz (UNITED STATES)
Message: 66607
Franky:
I don't think that has been tested to see if it works properly on noMMU.
Upgrade to 2008R1.5 - and it is likely the problem goes away.
A better question is _why_ you think there is a memory leak in the Blackfin mac driver?
-Robin