From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [PATCH v2] skge: fix broken driver Date: Fri, 20 Sep 2013 07:36:41 -0700 Message-ID: <20130920073641.7b279f21@samsung-9> References: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: David Miller , netdev@vger.kernel.org, Vasiliy Glazov To: Mikulas Patocka Return-path: Received: from mail-pd0-f182.google.com ([209.85.192.182]:58088 "EHLO mail-pd0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751598Ab3ITOgt (ORCPT ); Fri, 20 Sep 2013 10:36:49 -0400 Received: by mail-pd0-f182.google.com with SMTP id r10so463469pdi.27 for ; Fri, 20 Sep 2013 07:36:48 -0700 (PDT) In-Reply-To: Sender: netdev-owner@vger.kernel.org List-ID: On Thu, 19 Sep 2013 14:13:17 -0400 (EDT) Mikulas Patocka wrote: > The patch 136d8f377e1575463b47840bc5f1b22d94bf8f63 broke the skge driver. > Note this part of the patch: > + if (skge_rx_setup(skge, e, nskb, skge->rx_buf_size) < 0) { > + dev_kfree_skb(nskb); > + goto resubmit; > + } > + > pci_unmap_single(skge->hw->pdev, > dma_unmap_addr(e, mapaddr), > dma_unmap_len(e, maplen), > PCI_DMA_FROMDEVICE); > skb = e->skb; > prefetch(skb->data); > - skge_rx_setup(skge, e, nskb, skge->rx_buf_size); > > The function skge_rx_setup modifies e->skb to point to the new skb. Thus, > after this change, the new buffer, not the old, is returned to the > networking stack. > > This bug is present in kernels 3.11, 3.11.1 and 3.12-rc1. The patch should > be queued for 3.11-stable. > > Signed-off-by: Mikulas Patocka > Reported-by: Mikulas Patocka > Reported-by: Vasiliy Glazov > Tested-by: Mikulas Patocka > Thanks for fixing this. Maybe I should go on vacation more often.