On Wed, Sep 09, 2009 at 12:35:33PM +0800, Colin Yi wrote:
> From the above results, We know for the first leak the buffer address 
> is 0xffffff01d710ad18
> 
> > *cpqary3_state::walk softstate|::print -at cpqary3_t drvr_replyq
> ffffff01d51948a0 cpqary3_drvr_replyq_t *drvr_replyq = 0xffffff01d7f11e70
> > 0xffffff01d7f11e70::print -at cpqary3_drvr_replyq_t phyctgp
> ffffff01d7f11e9a struct cpqary3_phyctg *phyctgp = 0xffffff01d710ad18
> 
> Following the global variable "cpqary3_state", I found there is a pointer 
> "phyctgp"
> is pointer to the leaked buf address since the 
> cpqary3_state->phyctgp->phyctgp==0xffffff01d710ad18
> 
> Since buffer(0xffffff01d710ad18) is point by pointer 
> cpqary3_state->phyctgp->phyctgp
> 
> Why ::findleaks think this buffer is a mem leak?

How are these buffers allocated?  (in particular, how is the
cpqary3_drvr_replyq_t allocated?)

What does:
        0xffffff01d7f11e70::whatis

output?

Cheers,
- jonathan

Reply via email to