From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932911AbdC2BCY (ORCPT ); Tue, 28 Mar 2017 21:02:24 -0400 Received: from shards.monkeyblade.net ([184.105.139.130]:39930 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932623AbdC2BCW (ORCPT ); Tue, 28 Mar 2017 21:02:22 -0400 Date: Tue, 28 Mar 2017 18:02:16 -0700 (PDT) Message-Id: <20170328.180216.784439214031823579.davem@davemloft.net> To: jonas.jensen@gmail.com Cc: netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3] net: moxa: fix TX overrun memory leak From: David Miller In-Reply-To: <1490695958-23222-1-git-send-email-jonas.jensen@gmail.com> References: <1490695958-23222-1-git-send-email-jonas.jensen@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]); Tue, 28 Mar 2017 17:21:02 -0700 (PDT) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Jonas Jensen Date: Tue, 28 Mar 2017 12:12:38 +0200 > moxart_mac_start_xmit() doesn't care where tx_tail is, tx_head can > catch and pass tx_tail, which is bad because moxart_tx_finished() > isn't guaranteed to catch up on freeing resources from tx_tail. > > Add a check in moxart_mac_start_xmit() stopping the queue at the > end of the circular buffer. Also add a check in moxart_tx_finished() > waking the queue if the buffer has TX_WAKE_THRESHOLD or more > free descriptors. > > While we're at it, move spin_lock_irq() to happen before our > descriptor pointer is assigned in moxart_mac_start_xmit(). > > Addresses https://bugzilla.kernel.org/show_bug.cgi?id=99451 > > Signed-off-by: Jonas Jensen Applied, thank you.