]> git.baikalelectronics.ru Git - kernel.git/commit
bnxt_en: Fix aggregation buffer leak under OOM condition.
authorMichael Chan <michael.chan@broadcom.com>
Wed, 22 May 2019 23:12:54 +0000 (19:12 -0400)
committerDavid S. Miller <davem@davemloft.net>
Thu, 23 May 2019 01:02:14 +0000 (18:02 -0700)
commit0b583f99767bd99b8deac81cb389f6d0e7c9797e
tree9a0e5b263c6339371405b36b14af2fcce63e2734
parente3693d09206e966fb8d8fa2a9ad605daecfc86f8
bnxt_en: Fix aggregation buffer leak under OOM condition.

For every RX packet, the driver replenishes all buffers used for that
packet and puts them back into the RX ring and RX aggregation ring.
In one code path where the RX packet has one RX buffer and one or more
aggregation buffers, we missed recycling the aggregation buffer(s) if
we are unable to allocate a new SKB buffer.  This leads to the
aggregation ring slowly running out of buffers over time.  Fix it
by properly recycling the aggregation buffers.

Fixes: dfe047769e71 ("bnxt_en: New Broadcom ethernet driver.")
Reported-by: Rakesh Hemnani <rhemnani@fb.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnxt/bnxt.c