Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp2565740ybz; Sun, 26 Apr 2020 23:20:42 -0700 (PDT) X-Google-Smtp-Source: APiQypJAWCf5kQQMrIysL0l+nMaqDRIPwDpsegzSLIVVuo2arKjGIERzo6sLxkOcUVSw1F1EBiKd X-Received: by 2002:a50:950a:: with SMTP id u10mr17748645eda.45.1587968442111; Sun, 26 Apr 2020 23:20:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587968442; cv=none; d=google.com; s=arc-20160816; b=Qxq00NwdHNd6BzFPnMjp1FCKuxQ8F/DyGi1Nk8a8o+Y7Y7LlhkWxSq3jMVG2ETLIIR jWAFxpvd4QslVHypeXvspgdjTNBih0aDHDGpy0n7n7Otr3AtX14FrXyLd8elpzt4/cU5 WSXFN/AxGvuixeV134TVt1Awc/AJ61CXDNKFXOK1Kx/5w/Z5tOv/EiLg2RaOUH/JDYKI NSqo1jiOjMZz/xVUXwd6H6fQTp9PrNvij59nAoshTQvvbl5PY3A0B2YSxsqliydR1MYN 8xqXEaYhbzps41rs1Y5wF63T4lva3WWcKTNF6A3RPV3fgXCGayGYXVauWsBTroOMUL2v fatw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=GP07vvFI+Jr/xRHfh8ZzfrvNcJGFBxY5vn6UOyMiAZk=; b=IGpSzRaJ8r0HD29Cjbxuk3XDS/VJVMx5i2CvnchdTVqGDROa7Gae98ToTguNczHxto qttkJ4IhPyNkqZ5EgA6Zxg7hfC9I3aHFubg7iaLiRBg+eUtnXU71EkLPhKrmfCiyYNQ1 drJOrAcyO1JFZzD6aUixjktQFhSV8Vza9VhBZpDmeNgga9D/OwHCCwNA11W/WJS0ZD8E TMrA/3Y8HUYuilila151m2CKfAfHbKuk6Rz/bPudAcagOTQx+h/cv4y3+1eS/8+hk53r H97LHNx/8FkNq0iG5WrbldX6vNBvmyIvCAwIv057bSL2h86qbYlsWMJy/a5E/gbOPLVL thGQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id rs10si8030877ejb.288.2020.04.26.23.20.19; Sun, 26 Apr 2020 23:20:42 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726588AbgD0GSP (ORCPT + 99 others); Mon, 27 Apr 2020 02:18:15 -0400 Received: from smtp07.smtpout.orange.fr ([80.12.242.129]:54688 "EHLO smtp.smtpout.orange.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726584AbgD0GSK (ORCPT ); Mon, 27 Apr 2020 02:18:10 -0400 Received: from localhost.localdomain ([92.148.159.11]) by mwinf5d65 with ME id XiJ52200R0F2omL03iJ6FL; Mon, 27 Apr 2020 08:18:08 +0200 X-ME-Helo: localhost.localdomain X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Mon, 27 Apr 2020 08:18:08 +0200 X-ME-IP: 92.148.159.11 From: Christophe JAILLET To: davem@davemloft.net, fthain@telegraphics.com.au, tsbogend@alpha.franken.de, jgarzik@pobox.com Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET Subject: [PATCH] net/sonic: Fix a resource leak in an error handling path in 'jazz_sonic_probe()' Date: Mon, 27 Apr 2020 08:18:03 +0200 Message-Id: <20200427061803.53857-1-christophe.jaillet@wanadoo.fr> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org A call to 'dma_alloc_coherent()' is hidden in 'sonic_alloc_descriptors()', called from 'sonic_probe1()'. This is correctly freed in the remove function, but not in the error handling path of the probe function. Fix it and add the missing 'dma_free_coherent()' call. While at it, rename a label in order to be slightly more informative. Fixes: efcce839360f ("[PATCH] macsonic/jazzsonic network drivers update") Signed-off-by: Christophe JAILLET --- drivers/net/ethernet/natsemi/jazzsonic.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/natsemi/jazzsonic.c b/drivers/net/ethernet/natsemi/jazzsonic.c index bfa0c0d39600..8b018ed37b1b 100644 --- a/drivers/net/ethernet/natsemi/jazzsonic.c +++ b/drivers/net/ethernet/natsemi/jazzsonic.c @@ -208,11 +208,13 @@ static int jazz_sonic_probe(struct platform_device *pdev) err = register_netdev(dev); if (err) - goto out1; + goto undo_probe1; return 0; -out1: +undo_probe1: + dma_free_coherent(lp->device, SIZEOF_SONIC_DESC * SONIC_BUS_SCALE(lp->dma_bitmode), + lp->descriptors, lp->descriptors_laddr); release_mem_region(dev->base_addr, SONIC_MEM_SIZE); out: free_netdev(dev); -- 2.25.1