From: Stefan Assmann <sassmann@kpanic.de>
To: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org, jeffrey.t.kirsher@intel.com, sassmann@kpanic.de
Subject: [PATCH] igbvf: clear buffer_info->dma after dma_unmap_single()
Date: Thu, 6 Aug 2015 09:32:17 +0200 [thread overview]
Message-ID: <1438846337-6164-1-git-send-email-sassmann@kpanic.de> (raw)
The driver doesn't clear buffer_info->dma after calling
dma_unmap_single() in all cases. This has been discovered by changing
the mtu twice, which caused the following backtrace.
[ 68.569280] WARNING: CPU: 2 PID: 1860 at drivers/iommu/intel-iommu.c:3517 intel_unmap+0x20c/0x220()
[ 68.579392] Driver unmaps unmatched page at PFN fffc2a40
[ 68.585322] Modules linked in: igbvf ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_nat_ipv4 nf_nat kvm_intel kvm igb megs
[ 68.599163] CPU: 2 PID: 1860 Comm: ifconfig Not tainted 4.2.0-rc4+ #147
[ 68.606543] Hardware name: IBM -[546025Z]-/00Y7630, BIOS -[VVE134TUS-1.51]- 10/17/2013
[ 68.615473] 0000000000000dbd ffff88046441bb08 ffffffff81a5ad0b ffffffff81e2f9ea
[ 68.623775] ffff88046441bb58 ffff88046441bb48 ffffffff81056b55 ffff88047fc583c0
[ 68.632075] 0000000000000000 ffff880469a8e600 00000000fffc2a40 ffff880465b32098
[ 68.640375] Call Trace:
[ 68.643109] [<ffffffff81a5ad0b>] dump_stack+0x48/0x5d
[ 68.648844] [<ffffffff81056b55>] warn_slowpath_common+0x95/0xe0
[ 68.655549] [<ffffffff81056c56>] warn_slowpath_fmt+0x46/0x70
[ 68.661960] [<ffffffff8158a614>] ? find_iova+0x54/0x90
[ 68.667791] [<ffffffff815988dc>] intel_unmap+0x20c/0x220
[ 68.673815] [<ffffffff8159891e>] intel_unmap_page+0xe/0x10
[ 68.680038] [<ffffffffa0067536>] igbvf_clean_rx_ring+0x96/0x370 [igbvf]
[ 68.687516] [<ffffffffa0067915>] igbvf_down+0x105/0x110 [igbvf]
[ 68.694219] [<ffffffffa0067beb>] igbvf_change_mtu+0x16b/0x180 [igbvf]
[...]
Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
---
drivers/net/ethernet/intel/igbvf/netdev.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/intel/igbvf/netdev.c b/drivers/net/ethernet/intel/igbvf/netdev.c
index 95af14e..686fa71 100644
--- a/drivers/net/ethernet/intel/igbvf/netdev.c
+++ b/drivers/net/ethernet/intel/igbvf/netdev.c
@@ -319,6 +319,7 @@ static bool igbvf_clean_rx_irq(struct igbvf_adapter *adapter,
dma_unmap_single(&pdev->dev, buffer_info->dma,
adapter->rx_ps_hdr_size,
DMA_FROM_DEVICE);
+ buffer_info->dma = 0;
skb_put(skb, hlen);
}
--
2.4.3
next reply other threads:[~2015-08-06 7:32 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-06 7:32 Stefan Assmann [this message]
2015-08-06 17:16 ` [Intel-wired-lan] [PATCH] igbvf: clear buffer_info->dma after dma_unmap_single() Brandeburg, Jesse
2015-08-13 1:48 ` Brown, Aaron F
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1438846337-6164-1-git-send-email-sassmann@kpanic.de \
--to=sassmann@kpanic.de \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=jeffrey.t.kirsher@intel.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).