Revision e7c243c925f6d9dcb898504ff24d6650b5cbb3b1 authored by Evgeniy Polyakov on 25 August 2007, 06:36:29 UTC, committed by David S. Miller on 27 August 2007, 01:35:47 UTC
I tried to preserve bridging code as it was before, but logic is quite
strange - I think we should free skb on error, since it is already
unshared and thus will just leak.

Herbert Xu states:

> +	if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL)
> +		goto out;

If this happens it'll be a double-free on skb since we'll
return NF_DROP which makes the caller free it too.

We could return NF_STOLEN to prevent that but I'm not sure
whether that's correct netfilter semantics.  Patrick, could
you please make a call on this?

Patrick McHardy states:

NF_STOLEN should work fine here.

Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 7c8347a
History
File Mode Size
Kconfig -rw-r--r-- 5.3 KB
Makefile -rw-r--r-- 1.0 KB
allocpercpu.c -rw-r--r-- 3.6 KB
backing-dev.c -rw-r--r-- 1.7 KB
bootmem.c -rw-r--r-- 12.0 KB
bounce.c -rw-r--r-- 6.6 KB
fadvise.c -rw-r--r-- 2.6 KB
filemap.c -rw-r--r-- 59.1 KB
filemap.h -rw-r--r-- 2.8 KB
filemap_xip.c -rw-r--r-- 10.2 KB
fremap.c -rw-r--r-- 6.0 KB
highmem.c -rw-r--r-- 8.1 KB
hugetlb.c -rw-r--r-- 21.3 KB
internal.h -rw-r--r-- 1.0 KB
madvise.c -rw-r--r-- 9.5 KB
memory.c -rw-r--r-- 76.1 KB
memory_hotplug.c -rw-r--r-- 7.3 KB
mempolicy.c -rw-r--r-- 47.7 KB
mempool.c -rw-r--r-- 9.0 KB
migrate.c -rw-r--r-- 22.5 KB
mincore.c -rw-r--r-- 5.7 KB
mlock.c -rw-r--r-- 5.6 KB
mmap.c -rw-r--r-- 57.8 KB
mmzone.c -rw-r--r-- 750 bytes
mprotect.c -rw-r--r-- 7.5 KB
mremap.c -rw-r--r-- 10.8 KB
msync.c -rw-r--r-- 2.4 KB
nommu.c -rw-r--r-- 33.0 KB
oom_kill.c -rw-r--r-- 12.1 KB
page-writeback.c -rw-r--r-- 29.3 KB
page_alloc.c -rw-r--r-- 106.9 KB
page_io.c -rw-r--r-- 3.6 KB
pdflush.c -rw-r--r-- 6.4 KB
prio_tree.c -rw-r--r-- 6.3 KB
quicklist.c -rw-r--r-- 2.0 KB
readahead.c -rw-r--r-- 13.4 KB
rmap.c -rw-r--r-- 26.4 KB
shmem.c -rw-r--r-- 64.4 KB
shmem_acl.c -rw-r--r-- 4.6 KB
slab.c -rw-r--r-- 115.0 KB
slob.c -rw-r--r-- 14.9 KB
slub.c -rw-r--r-- 89.2 KB
sparse.c -rw-r--r-- 8.3 KB
swap.c -rw-r--r-- 12.4 KB
swap_state.c -rw-r--r-- 9.3 KB
swapfile.c -rw-r--r-- 43.9 KB
thrash.c -rw-r--r-- 2.0 KB
tiny-shmem.c -rw-r--r-- 3.2 KB
truncate.c -rw-r--r-- 12.8 KB
util.c -rw-r--r-- 2.7 KB
vmalloc.c -rw-r--r-- 19.1 KB
vmscan.c -rw-r--r-- 51.6 KB
vmstat.c -rw-r--r-- 16.9 KB

back to top