]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commit
net: cavium: liquidio: Avoid dma_unmap_single on uninitialized ndata
authorFlorian Fainelli <f.fainelli@gmail.com>
Fri, 15 Jul 2016 23:42:16 +0000 (16:42 -0700)
committerThadeu Lima de Souza Cascardo <cascardo@canonical.com>
Fri, 5 May 2017 13:13:53 +0000 (10:13 -0300)
commit330fd05c7f96866a5c1d68e076231b6d262e2b35
tree4430ff33484ef070dc4b638ca5b157815f84813c
parentec2e06ab5c9db82c95107f0e6136023d8c571b82
net: cavium: liquidio: Avoid dma_unmap_single on uninitialized ndata

BugLink: http://bugs.launchpad.net/bugs/1688505
commit 8e6ce7ebeb34f0992f56de078c3744fb383657fa upstream.

The label lio_xmit_failed is used 3 times through liquidio_xmit() but it
always makes a call to dma_unmap_single() using potentially
uninitialized variables from "ndata" variable. Out of the 3 gotos, 2 run
after ndata has been initialized, and had a prior dma_map_single() call.

Fix this by adding a new error label: lio_xmit_dma_failed which does
this dma_unmap_single() and then processed with the lio_xmit_failed
fallthrough.

Fixes: f21fb3ed364bb ("Add support of Cavium Liquidio ethernet adapters")
Reported-by: coverity (CID 1309740)
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
drivers/net/ethernet/cavium/liquidio/lio_main.c