[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20171219.114100.723259287206961093.davem@davemloft.net>
Date: Tue, 19 Dec 2017 11:41:00 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: al.kochet@...il.com
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
f.fainelli@...il.com, edumazet@...gle.com
Subject: Re: [PATCH] net: arc_emac: fix arc_emac_rx() error paths
From: Alexander Kochetkov <al.kochet@...il.com>
Date: Tue, 19 Dec 2017 18:49:48 +0300
>> And then you unmap it. "addr" is the new DMA mapping, not the old one.
>
> The old mapping should be unmapped here. It refer to old skb what contains already
> received packet. Because buffer doesn’t belong to EMAC anymore.
> That old mapping point to old skb buffer. And netif_receive_skb() will be
> called for old skb after that.
I misread the code, sorry. I saw the dma_unmap_addr(xxx, addr) and just
considered 'addr' as the local variable. It's not, it's in fact the
TX struct member.
Let me look at this some more. ;-)
Powered by blists - more mailing lists