]> git.baikalelectronics.ru Git - kernel.git/commit
net: mvpp2: fix the txq_init error path
authorAntoine Tenart <antoine.tenart@free-electrons.com>
Tue, 28 Nov 2017 13:19:48 +0000 (14:19 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 28 Nov 2017 15:09:50 +0000 (10:09 -0500)
commitc446e2398d37cedc55be40107f8efbc64a221a24
tree8d64dacb5b60e2332c6c9679ba8a9bb1785f01d3
parentd16beb85d303ba871c0a9af4af725d8141fa63c8
net: mvpp2: fix the txq_init error path

When an allocation in the txq_init path fails, the allocated buffers
end-up being freed twice: in the txq_init error path, and in txq_deinit.
This lead to issues as txq_deinit would work on already freed memory
regions:

    kernel BUG at mm/slub.c:3915!
    Internal error: Oops - BUG: 0 [#1] PREEMPT SMP

This patch fixes this by removing the txq_init own error path, as the
txq_deinit function is always called on errors. This was introduced by
TSO as way more buffers are allocated.

Fixes: 6c577f0b5917 ("net: mvpp2: software tso support")
Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mvpp2.c