]> git.baikalelectronics.ru Git - kernel.git/commit
sfc: Fix memory leak when discarding scattered packets
authorBen Hutchings <bhutchings@solarflare.com>
Thu, 4 Jul 2013 22:48:46 +0000 (23:48 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 5 Jul 2013 08:29:15 +0000 (01:29 -0700)
commitc639123f135949ea8e66b5263d6a8793e5172d98
tree410ed812608383a8e88ffe16cc228be20bf2240b
parent98ae7fc4c5e02049c0aba7cce8205a891d29431e
sfc: Fix memory leak when discarding scattered packets

Commit d42cac8fb5e1 ('sfc: reuse pages to avoid DMA mapping/unmapping
costs') did not fully take account of DMA scattering which was
introduced immediately before.  If a received packet is invalid and
must be discarded, we only drop a reference to the first buffer's
page, but we need to drop a reference for each buffer the packet
used.

I think this bug was missed partly because efx_recycle_rx_buffers()
was not renamed and so no longer does what its name says.  It does not
change the state of buffers, but only prepares the underlying pages
for recycling.  Rename it accordingly.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/sfc/rx.c