Possibly something weird about talloc?

Richard Sharpe realrichardsharpe at gmail.com
Sun Feb 7 23:18:22 UTC 2016


On Sun, Feb 7, 2016 at 2:13 PM, Richard Sharpe
<realrichardsharpe at gmail.com> wrote:
>
> Hi folks,
>
> I have modified gdb-heap (ssh://git.fedorahosted.org/git/gdb-heap.git) to show useful info about talloc chunks in the heap as well.
>
> In looking at the results, I see many cases like this:
>
> -----------------------------------------
>    178: 0x00007f98cdc927f0 -> 0x00007f98cdc9288f      160 bytes talloc:talloc chunk:48 bytes:"struct parmlist_entry" |a0 b4 cb cd 98 7f 00 00 40 be cd cd 98 7f 00 00 00 00 00 00 00 00 00 00 c0 bd cd cd 98 7f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 07 7f c8 98 7f 00 00 30 00 00 00 00 00 00 00 70 0c 15 e8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 00 00 00 00 a0 be cd cd 98 7f 00 00 a0 9f c9 cd 98 7f 00 00 90 04 c9 cd 98 7f 00 00 20 be cd cd 98 7f 00 00 |.....^?.. at ....^?...............^?..................5.^?..^?..0.......p....................................^?.......^?.......^?.. ....^?..|
> ------------------------------------------
>
> It contains a pointer in the chunk header pointing to the structure type.
>
> However, I also see entries like this:
>
> -------------------------------------------------
>    177: 0x00007f98cdc92760 -> 0x00007f98cdc927ef      144 bytes talloc:talloc chunk:25 bytes:"/home/samba/etc/smb.conf" |30 b5 cb cd 98 7f 00 00 00 00 00 00 00 00 00 00 a0 b4 cb cd 98 7f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c0 27 c9 cd 98 7f 00 00 19 00 00 00 00 00 00 00 70 0c 15 e8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 ec c8 cd 98 7f 00 00 2f 68 6f 6d 65 2f 73 61 6d 62 61 2f 65 74 63 2f 73 6d 62 2e 63 6f 6e 66 00 8f c9 cd 98 7f 00 00 |0....^?...............^?...........................'...^?..........p....................... at ....^?../home/samba/etc/smb.conf.....^?..|
> --------------------------------------------------
>
> The pointer in the header that should point to the allocation location or type points to the data.
>
> When does this happen?

Hmmm, OK I guess this could happen with __talloc_strlendup which calls
_talloc_set_name_const(ret, ret).


-- 
Regards,
Richard Sharpe
(何以解憂?唯有杜康。--曹操)



More information about the samba-technical mailing list