Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Jul 2014 21:19:51 +0200
From:      Mateusz Guzik <mjguzik@gmail.com>
To:        suresh gumpula <gsuryacse7k@gmail.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Allocation/free history
Message-ID:  <20140728191950.GA9781@dft-labs.eu>
In-Reply-To: <CAJOqHmgO55L-D0_7zpnC0jFR%2BY1KWBzFwQirPfknhNeHzd0asg@mail.gmail.com>
References:  <CAJOqHmgO55L-D0_7zpnC0jFR%2BY1KWBzFwQirPfknhNeHzd0asg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140728191950.GA9781>