Allocation/free history
suresh gumpula
gsuryacse7k at gmail.com
Mon Jul 28 17:40:12 UTC 2014
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
Thanks
Suresh
More information about the freebsd-hackers
mailing list