From patchwork Thu Oct 29 21:52:45 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergei Shtylyov X-Patchwork-Id: 7521351 X-Patchwork-Delegate: geert@linux-m68k.org Return-Path: X-Original-To: patchwork-linux-sh@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 756CBBEEA4 for ; Thu, 29 Oct 2015 21:52:52 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 79372207B5 for ; Thu, 29 Oct 2015 21:52:51 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 771CC207AF for ; Thu, 29 Oct 2015 21:52:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756871AbbJ2Vwt (ORCPT ); Thu, 29 Oct 2015 17:52:49 -0400 Received: from mail-lb0-f172.google.com ([209.85.217.172]:33085 "EHLO mail-lb0-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752140AbbJ2Vws (ORCPT ); Thu, 29 Oct 2015 17:52:48 -0400 Received: by lbbec13 with SMTP id ec13so38865157lbb.0 for ; Thu, 29 Oct 2015 14:52:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cogentembedded_com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:organization:user-agent :in-reply-to:references:mime-version:content-transfer-encoding :content-type; bh=9tmTlLgp6IZqCYJICSbxQoBmjRehrF9eMsSuBQ9G2+4=; b=eLXmGNw7ATDX//F4Snvkd2GZUmwPWcePV07tovnTCUGetQMC24e0HBzZ8C72Y/sTJP zfSe5RBMZgqPHdiRa18rrEn+7IHadMHTMdVLH0lAhzmFOgWNNE2roU2ncOF3nmhvV3cy qxA66TkQ2vCOOELP16sqjyOgjFdLeSaI10VM/KdTZZRqjo2qeFihLMfZxd4Xp3GGVygI rtgBqX4trM+LysCq7Arvldo1O9UMvShKnaSdArdqrrXxwEfmUlPm8gUubd/Qd/lAHqak PoJX+jeHrMPiwvOpChakk8q0JmLJ4d9Q+12P/g8d8zQyUigu4lrTmOz1Ja+eigut320B 7FWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:organization :user-agent:in-reply-to:references:mime-version :content-transfer-encoding:content-type; bh=9tmTlLgp6IZqCYJICSbxQoBmjRehrF9eMsSuBQ9G2+4=; b=gzjZdLp6ddJt3VsCI2ciXXuacRPspnZbPhH2XgpzT8pc1VsyUIZoqKfjlhkwgpQT+J Qy5xYhMUC7rBHHhJnFX9ZJV3QujE6tgFT6svsX94exUq/HbUqJ/d/Qa77MUsLst5jbhp UyajeslHnJPico31PxzwmYn72j+zUY8rgtOeId/6QNesMwZrrMgXYUvys5OCe6NGyjtE ZpagRiKubtd7EUs6R2NceBqmSa8PDQcFVChupL/LO9c2UP4j1bipDDQz3eIHTyJtJIHR mAnGOQOUFDK27wMxnAOmqYNQAXT/mS2LzyvjUfZ7k3vvdXLYlO0fN0Ok7Ll1+cUXZjRC 0olA== X-Gm-Message-State: ALoCoQl+BR+gbevmZ5dMx9cZxWoOSeYXVUF1XtPPmT8VkG8Ru2lV8VJV3zs0Gu2MZtlmJ0d0hE7K X-Received: by 10.112.136.39 with SMTP id px7mr2203293lbb.77.1446155567319; Thu, 29 Oct 2015 14:52:47 -0700 (PDT) Received: from wasted.cogentembedded.com ([83.149.8.132]) by smtp.gmail.com with ESMTPSA id j11sm678408lbz.21.2015.10.29.14.52.46 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Oct 2015 14:52:46 -0700 (PDT) From: Sergei Shtylyov To: netdev@vger.kernel.org Cc: linux-sh@vger.kernel.org Subject: [PATCH 2/2] sh_eth: fix WARNING in dma_free_coherent() Date: Fri, 30 Oct 2015 00:52:45 +0300 Message-ID: <1503970.kr1SvaSeoy@wasted.cogentembedded.com> Organization: Cogent Embedded Inc. User-Agent: KMail/4.14.9 (Linux/4.2.3-200.fc22.x86_64; KDE/4.14.11; x86_64; ; ) In-Reply-To: <5844359.Wmo6777QiE@wasted.cogentembedded.com> References: <5844359.Wmo6777QiE@wasted.cogentembedded.com> MIME-Version: 1.0 Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org X-Spam-Status: No, score=-6.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,RCVD_IN_SORBS_WEB,RP_MATCHES_RCVD,T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Iff the first dma_alloc_coherent() call fails in sh_eth_ring_init(), the following is printed to the kernel console: WARNING: CPU: 0 PID: 1 at drivers/base/dma-mapping.c:334 dma_common_free_remap+0x48/0x6c() trying to free invalid coherent area: (null) Modules linked in: CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.3.0-rc7-dirty #969 Hardware name: Generic R8A7791 (Flattened Device Tree) Backtrace: [] (dump_backtrace) from [] (show_stack+0x18/0x1c) r6:c0662856 r5:00000009 r4:00000000 r3:00204140 [] (show_stack) from [] (dump_stack+0x74/0x90) [] (dump_stack) from [] (warn_slowpath_common+0x8c/0xb8) r4:ee84dce0 r3:c0712774 [] (warn_slowpath_common) from [] (warn_slowpath_fmt+0x38/0x40) r8:ee7f8000 r7:c0734520 r6:00001000 r5:20000008 r4:00000000 [] (warn_slowpath_fmt) from [] (dma_common_free_remap+0x48/0x6c) r3:00000000 r2:c0662871 [] (dma_common_free_remap) from [] (__arm_dma_free+0xb8/0xd4) r6:00000001 r5:00000000 r4:00001000 r3:ee8c5584 [] (__arm_dma_free) from [] (arm_dma_free+0x24/0x2c) r10:0000016b r8:00000000 r7:ee9bc830 r6:00000000 r5:00000400 r4:ee9bc800 [] (arm_dma_free) from [] (sh_eth_ring_init+0x110/0x138) [] (sh_eth_ring_init) from [] (sh_eth_open+0x94/0x1f4) r6:00000000 r5:ee9bcd18 r4:ee9bc800 [] (sh_eth_open) from [] (__dev_open+0x84/0x104) r6:c0565c50 r5:00000000 r4:ee9bc800 [] (__dev_open) from [] (__dev_change_flags+0x94/0x13c) r7:00001002 r6:00000001 r5:00001003 r4:ee9bc800 [] (__dev_change_flags) from [] (dev_change_flags+0x20/0x50) r7:c072c8a0 r6:00000138 r5:00001002 r4:ee9bc800 [] (dev_change_flags) from [] (ip_auto_config+0x174/0xf7c) r8:00001002 r7:c072c8a0 r6:c0700040 r5:00000001 r4:ee9bc800 r3:00000101 [] (ip_auto_config) from [] (do_one_initcall+0x100/0x1c8) r10:c06f883c r9:00000000 r8:c06e8bd8 r7:c0734000 r6:c070e918 r5:c070e918 r4:ee083640 [] (do_one_initcall) from [] (kernel_init_freeable+0x11c/0x1ec) r10:c06f883c r9:00000000 r8:00000099 r7:c0734000 r6:c070372c r5:c06f8834 r4:00000007 [] (kernel_init_freeable) from [] (kernel_init+0x14/0xec) r10:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0514d64 r4:c0734000 [] (kernel_init) from [] (ret_from_fork+0x14/0x3c) r4:00000000 r3:ee84c000 This is because the code jumps to a wrong label and so tries to free yet unallocated coherent memory. Fix the *goto* in question. Signed-off-by: Sergei Shtylyov --- drivers/net/ethernet/renesas/sh_eth.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Index: net/drivers/net/ethernet/renesas/sh_eth.c =================================================================== --- net.orig/drivers/net/ethernet/renesas/sh_eth.c +++ net/drivers/net/ethernet/renesas/sh_eth.c @@ -1232,7 +1232,7 @@ static int sh_eth_ring_init(struct net_d GFP_KERNEL); if (!mdp->rx_ring) { ret = -ENOMEM; - goto desc_ring_free; + goto skb_ring_free; } mdp->dirty_rx = 0;