[ECOS] mbuf leakage in if_i82559.c ?

Gary Thomas gary@mlbassoc.com
Thu Nov 20 13:41:00 GMT 2003

On Thu, 2003-11-20 at 05:34, Larice Robert wrote:
> Hello,
> i think there is possible mbuf leakage in if_i82559.c
> could you please verify this ?
> as far as i understand this, eth_drv.c hands over responsibility for mbufs
> to if_i82559.c with the parameter key of the function i82559_send(...key...)
> later if_i82599.c gives them back to eth_drv.c with the parameter key
> of the function eth_drv_tx_done(...key...)
> BUT, when i82559_send thinks its queue is full, it will simply drop this
> key. is this ok ? is there somewhere another cleanup mechanism which
> i've not seen so far ?

This would be a leak - if it could happen.  However, it should never
happen since the XXX_send() routine will only be called if the 
XXX_can_send() routine says that the device has space.  So if there
*is* space, then the packet would not be dropped, so there is no leak.

Gary Thomas <gary@mlbassoc.com>
MLB Associates

Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss

More information about the Ecos-discuss mailing list