From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752083AbcGQFGf (ORCPT ); Sun, 17 Jul 2016 01:06:35 -0400 Received: from shards.monkeyblade.net ([184.105.139.130]:45256 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750819AbcGQFGa (ORCPT ); Sun, 17 Jul 2016 01:06:30 -0400 Date: Sat, 16 Jul 2016 22:06:29 -0700 (PDT) Message-Id: <20160716.220629.880291604451445477.davem@davemloft.net> To: f.fainelli@gmail.com Cc: netdev@vger.kernel.org, derek.chickles@caviumnetworks.com, satananda.burla@caviumnetworks.com, felix.manlunas@caviumnetworks.com, raghu.vatsavayi@caviumnetworks.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH net] net: cavium: liquidio: Avoid dma_unmap_single on uninitialized ndata From: David Miller In-Reply-To: <1468626136-31783-1-git-send-email-f.fainelli@gmail.com> References: <1468626136-31783-1-git-send-email-f.fainelli@gmail.com> X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Sat, 16 Jul 2016 22:06:30 -0700 (PDT) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Florian Fainelli Date: Fri, 15 Jul 2016 16:42:16 -0700 > 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 Applied.