Allocation/free history

Mateusz Guzik mjguzik at gmail.com
Mon Jul 28 19:20:02 UTC 2014


On Mon, Jul 28, 2014 at 01:40:10PM -0400, suresh gumpula wrote:
> Hi,
>    Knowing the PC of an allocation is very usefull in debugging. Having the
> PC hash table and storing the pc hash  either with an object itself( at the
> end) or allocate an exra structure to hold the
> hash index  help us find out who/where an object was allocated.   We
> already have something like this in our own operating system and has been a
> useful thing in debugging.
> BSD allocator uses power of 2, so storing at the end of an object might be
> wasting lot of memory with large objects.
> 
> It appears we don’t have something like this in current FBSD codeline and
> would like to work on this ?  Any comments   please?
> 
> 
> It would be something like below. 8 bytes at the end of each object has
> fecepost which is usefull in finding overwrites and 2 hash indices to the
> PC table to track allocation history.
> (kgdb-amd64-7.4-87) x/40w 0xffffff153728b038
> 0xffffff153728b038:     0xf6970a05      0x06cb7e0c      0x305a134a
>  0x831c18bb
> 0xc0000bed      0x134a2115
> 
> 0xffffff153728b050:     0x85687ef8      0xffffffff      0x00000001
>  0x83192201
>                         0xc0000bed      0x1741143b
> 

See redzone(9).

-- 
Mateusz Guzik <mjguzik gmail.com>


More information about the freebsd-hackers mailing list