]> git.baikalelectronics.ru Git - kernel.git/commit
igb: Revert support for build_skb in igb
authorAlexander Duyck <alexander.h.duyck@intel.com>
Wed, 17 Apr 2013 20:41:04 +0000 (20:41 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 18 Apr 2013 18:52:18 +0000 (14:52 -0400)
commit8bd26ecd4f86dd3522104e4e916364b4cd687df0
tree7b392dd69c8b7d6702d169a22b947f7803a220bb
parentfd311a4eec40cd99b07385511b6b419273634d1e
igb: Revert support for build_skb in igb

This patch actually reverts:
igb: Support using build_skb in the case that jumbo frames are disabled

The reason for reverting this patch is that it can lead to data corruption.
The following flow was pointed out by Ben Hutchings:

1. skb is forwarded to another device
2. Packet headers are modified and it's put into a queue
3. Second packet is received into the other half of this page
4. Page cannot be reused, so is DMA-unmapped
5. The DMA mapping was non-coherent, so unmap copies or invalidates
cache

The headers added in step 2 get trashed in step 5.

Reported-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/intel/igb/igb.h
drivers/net/ethernet/intel/igb/igb_main.c