Revision f9d40f6a9921cc7d9385f64362314054e22152bd authored by Alexander Duyck on 17 April 2013, 20:41:04 UTC, committed by David S. Miller on 18 April 2013, 18:52:18 UTC
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>
1 parent 0fecd75
History
File Mode Size
Kconfig -rw-r--r-- 16.0 KB
Kconfig.debug -rw-r--r-- 1015 bytes
Makefile -rw-r--r-- 2.0 KB
backing-dev.c -rw-r--r-- 21.5 KB
balloon_compaction.c -rw-r--r-- 9.6 KB
bootmem.c -rw-r--r-- 21.3 KB
bounce.c -rw-r--r-- 7.5 KB
cleancache.c -rw-r--r-- 6.5 KB
compaction.c -rw-r--r-- 32.3 KB
debug-pagealloc.c -rw-r--r-- 2.1 KB
dmapool.c -rw-r--r-- 13.1 KB
fadvise.c -rw-r--r-- 4.0 KB
failslab.c -rw-r--r-- 1.3 KB
filemap.c -rw-r--r-- 67.3 KB
filemap_xip.c -rw-r--r-- 11.3 KB
fremap.c -rw-r--r-- 6.6 KB
frontswap.c -rw-r--r-- 10.3 KB
highmem.c -rw-r--r-- 9.9 KB
huge_memory.c -rw-r--r-- 72.9 KB
hugetlb.c -rw-r--r-- 82.4 KB
hugetlb_cgroup.c -rw-r--r-- 10.7 KB
hwpoison-inject.c -rw-r--r-- 3.3 KB
init-mm.c -rw-r--r-- 619 bytes
internal.h -rw-r--r-- 11.1 KB
interval_tree.c -rw-r--r-- 3.2 KB
kmemcheck.c -rw-r--r-- 2.8 KB
kmemleak-test.c -rw-r--r-- 3.3 KB
kmemleak.c -rw-r--r-- 52.4 KB
ksm.c -rw-r--r-- 65.9 KB
maccess.c -rw-r--r-- 1.6 KB
madvise.c -rw-r--r-- 14.1 KB
memblock.c -rw-r--r-- 29.6 KB
memcontrol.c -rw-r--r-- 180.4 KB
memory-failure.c -rw-r--r-- 44.3 KB
memory.c -rw-r--r-- 115.8 KB
memory_hotplug.c -rw-r--r-- 46.7 KB
mempolicy.c -rw-r--r-- 71.3 KB
mempool.c -rw-r--r-- 10.5 KB
migrate.c -rw-r--r-- 43.7 KB
mincore.c -rw-r--r-- 7.8 KB
mlock.c -rw-r--r-- 14.8 KB
mm_init.c -rw-r--r-- 4.0 KB
mmap.c -rw-r--r-- 81.8 KB
mmu_context.c -rw-r--r-- 1.4 KB
mmu_notifier.c -rw-r--r-- 9.3 KB
mmzone.c -rw-r--r-- 2.4 KB
mprotect.c -rw-r--r-- 10.2 KB
mremap.c -rw-r--r-- 14.4 KB
msync.c -rw-r--r-- 2.4 KB
nobootmem.c -rw-r--r-- 11.0 KB
nommu.c -rw-r--r-- 51.5 KB
oom_kill.c -rw-r--r-- 19.5 KB
page-writeback.c -rw-r--r-- 70.0 KB
page_alloc.c -rw-r--r-- 170.6 KB
page_cgroup.c -rw-r--r-- 11.9 KB
page_io.c -rw-r--r-- 6.8 KB
page_isolation.c -rw-r--r-- 7.0 KB
pagewalk.c -rw-r--r-- 5.7 KB
percpu-km.c -rw-r--r-- 2.8 KB
percpu-vm.c -rw-r--r-- 12.9 KB
percpu.c -rw-r--r-- 57.1 KB
pgtable-generic.c -rw-r--r-- 4.6 KB
process_vm_access.c -rw-r--r-- 13.2 KB
quicklist.c -rw-r--r-- 2.4 KB
readahead.c -rw-r--r-- 16.1 KB
rmap.c -rw-r--r-- 50.4 KB
shmem.c -rw-r--r-- 77.2 KB
slab.c -rw-r--r-- 117.7 KB
slab.h -rw-r--r-- 6.2 KB
slab_common.c -rw-r--r-- 11.1 KB
slob.c -rw-r--r-- 15.3 KB
slub.c -rw-r--r-- 129.0 KB
sparse-vmemmap.c -rw-r--r-- 5.9 KB
sparse.c -rw-r--r-- 20.9 KB
swap.c -rw-r--r-- 23.3 KB
swap_state.c -rw-r--r-- 10.7 KB
swapfile.c -rw-r--r-- 65.6 KB
truncate.c -rw-r--r-- 18.3 KB
util.c -rw-r--r-- 9.6 KB
vmalloc.c -rw-r--r-- 66.1 KB
vmscan.c -rw-r--r-- 100.2 KB
vmstat.c -rw-r--r-- 33.9 KB

back to top