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