Date: Mon, 28 Jul 2014 13:40:10 -0400 From: suresh gumpula <gsuryacse7k@gmail.com> To: freebsd-hackers@freebsd.org Subject: Allocation/free history Message-ID: <CAJOqHmgO55L-D0_7zpnC0jFR%2BY1KWBzFwQirPfknhNeHzd0asg@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
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=E2=80=99t have something like this in current FBSD codeli= ne 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJOqHmgO55L-D0_7zpnC0jFR%2BY1KWBzFwQirPfknhNeHzd0asg>