Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752562AbbKYRCO (ORCPT ); Wed, 25 Nov 2015 12:02:14 -0500 Received: from mail-pa0-f49.google.com ([209.85.220.49]:34717 "EHLO mail-pa0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751262AbbKYRCN (ORCPT ); Wed, 25 Nov 2015 12:02:13 -0500 Message-ID: <1448470930.24696.10.camel@edumazet-glaptop2.roam.corp.google.com> Subject: [PATCH net] drivers: net: xgene: fix possible use after free From: Eric Dumazet To: Mark Rutland , David Miller , Iyappan Subramanian Cc: netdev@vger.kernel.org, isubramanian@apm.com, kchudgar@apm.com, linux-kernel@vger.kernel.org, ryabinin.a.a@gmail.com, linux-arm-kernel@lists.infradead.org Date: Wed, 25 Nov 2015 09:02:10 -0800 In-Reply-To: <20151125163402.GA29094@leverpostej> References: <20151125155753.GE12434@leverpostej> <1448468256.24696.5.camel@edumazet-glaptop2.roam.corp.google.com> <20151125163402.GA29094@leverpostej> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1323 Lines: 39 From: Eric Dumazet Once TX has been enabled on a NIC, it is illegal to access skb, as this skb might have been freed by another cpu, from TX completion handler. Signed-off-by: Eric Dumazet Reported-by: Mark Rutland Tested-by: Mark Rutland Cc: Iyappan Subramanian --- drivers/net/ethernet/apm/xgene/xgene_enet_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/apm/xgene/xgene_enet_main.c b/drivers/net/ethernet/apm/xgene/xgene_enet_main.c index 1adfe7036843..9147a0107c44 100644 --- a/drivers/net/ethernet/apm/xgene/xgene_enet_main.c +++ b/drivers/net/ethernet/apm/xgene/xgene_enet_main.c @@ -450,12 +450,12 @@ static netdev_tx_t xgene_enet_start_xmit(struct sk_buff *skb, return NETDEV_TX_OK; } - pdata->ring_ops->wr_cmd(tx_ring, count); skb_tx_timestamp(skb); pdata->stats.tx_packets++; pdata->stats.tx_bytes += skb->len; + pdata->ring_ops->wr_cmd(tx_ring, count); return NETDEV_TX_OK; } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/