From patchwork Mon Jun 20 07:48:06 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Cochran X-Patchwork-Id: 101041 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id C6736B6FE0 for ; Mon, 20 Jun 2011 17:48:15 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753655Ab1FTHsI (ORCPT ); Mon, 20 Jun 2011 03:48:08 -0400 Received: from mail-fx0-f46.google.com ([209.85.161.46]:41474 "EHLO mail-fx0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753449Ab1FTHsF (ORCPT ); Mon, 20 Jun 2011 03:48:05 -0400 Received: by mail-fx0-f46.google.com with SMTP id 17so759177fxm.19 for ; Mon, 20 Jun 2011 00:48:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:from:to:cc:subject:date:message-id:x-mailer :in-reply-to:references:in-reply-to:references; bh=E+3OAgu4n9aDg2Q/wfqUu42q5HFgx36hIva0VPuz17E=; b=xWi8LfJ7IVW8Jok8sQmW+ecYeSJuLbDBqiBdrgfFoiFsK4EON0QkabhnBCD04T065P aeHPxK23GDsew2TbbgIInhBLqquu1wepyvKrK7FaXWGjnTkTYNQzOIjZLRyE7P9eyGnX qxFdd6vnqLDxFtyS8pUFZlMXO3X4hssPfXgTw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; b=wsFyxOZQVAgiivmWuwtOfaN/6wthCEFVQKTDkGJ/Uh1gkjvPMbbI7L/DIXfGaaNeRI z7y3Z3Jtl9QxCT81Cww0KDIIeZJ3ZLkH1O6P+q2/3ENtwcc9EnoWDqxoEXCaJVUHR1ng 2odNqp4fgrBBI0aCwa4fgMJPkjkdvB7Q+w2pU= Received: by 10.223.144.136 with SMTP id z8mr3972277fau.31.1308556084594; Mon, 20 Jun 2011 00:48:04 -0700 (PDT) Received: from localhost.localdomain (vs162244.vserver.de [62.75.162.244]) by mx.google.com with ESMTPS id h1sm2631740fag.35.2011.06.20.00.48.00 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 20 Jun 2011 00:48:03 -0700 (PDT) From: Richard Cochran To: Cc: David Miller , Eric Dumazet , stable@kernel.org, Sachin Sanap , Zhangfei Gao , Philip Rakity Subject: [PATCH 1/2] pxa168_eth: fix race in transmit path. Date: Mon, 20 Jun 2011 09:48:06 +0200 Message-Id: <180237f9f567de29068e51b1442629509bb03e43.1308555865.git.richard.cochran@omicron.at> X-Mailer: git-send-email 1.7.0.4 In-Reply-To: References: In-Reply-To: References: Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Because the socket buffer is freed in the completion interrupt, it is not safe to access it after submitting it to the hardware. Cc: stable@kernel.org Cc: Sachin Sanap Cc: Zhangfei Gao Cc: Philip Rakity Signed-off-by: Richard Cochran Acked-by: Eric Dumazet --- drivers/net/pxa168_eth.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/pxa168_eth.c b/drivers/net/pxa168_eth.c index 89f7540..5f597ca 100644 --- a/drivers/net/pxa168_eth.c +++ b/drivers/net/pxa168_eth.c @@ -1273,7 +1273,7 @@ static int pxa168_eth_start_xmit(struct sk_buff *skb, struct net_device *dev) wmb(); wrl(pep, SDMA_CMD, SDMA_CMD_TXDH | SDMA_CMD_ERD); - stats->tx_bytes += skb->len; + stats->tx_bytes += length; stats->tx_packets++; dev->trans_start = jiffies; if (pep->tx_ring_size - pep->tx_desc_count <= 1) {