ionet free causes io-net to crash


I have a strange problem with io-net. I’ve written a network driver that
uses a number of data block that have been allocated with ion alloc.
These block have no associated npkt or iov structure.

At some point, my driver code decided to release one of these blocks to
io-net(By generating an npkt and iov), which then does it’s magical thing.

Once io-net has finished with the block I get the receive done callback
and need to release the allocated block. ( I know that using a pool
would be more efficient, but it’s early days!)

Freeing the allocated npkt is fine, however when I try to free the block
io-net crashes! All pointers to the packet look fine, and the address
of the block is OK.

It’s got me stumped, there is obviously some kind of reference to the
block that’s being used but I cannot figure out what is going on.

Any suggestions?