]> git.proxmox.com Git - mirror_ubuntu-eoan-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)
commitba2d8d887d962c2f790e6dc01b2fd25b4608720b
tree8d64dacb5b60e2332c6c9679ba8a9bb1785f01d3
parente2549970f469a88152ac0411780306f13653bcb8
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: 186cd4d4e414 ("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