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
mach-bf527
mach-bf533
mach-bf537
mach-bf548
mach-bf561
mach-common
Kbuild -rw-r--r-- 65 bytes
a.out.h -rw-r--r-- 753 bytes
atomic.h -rw-r--r-- 3.0 KB
auxvec.h -rw-r--r-- 62 bytes
bf5xx_timers.h -rw-r--r-- 5.8 KB
bfin-global.h -rw-r--r-- 4.3 KB
bfin5xx_spi.h -rw-r--r-- 4.3 KB
bfin_simple_timer.h -rw-r--r-- 446 bytes
bfin_sport.h -rw-r--r-- 4.6 KB
bitops.h -rw-r--r-- 4.3 KB
blackfin.h -rw-r--r-- 2.7 KB
bug.h -rw-r--r-- 84 bytes
bugs.h -rw-r--r-- 239 bytes
byteorder.h -rw-r--r-- 1.1 KB
cache.h -rw-r--r-- 593 bytes
cacheflush.h -rw-r--r-- 3.2 KB
checksum.h -rw-r--r-- 2.6 KB
cplb.h -rw-r--r-- 1.6 KB
cplbinit.h -rw-r--r-- 2.9 KB
cpumask.h -rw-r--r-- 139 bytes
cputime.h -rw-r--r-- 130 bytes
current.h -rw-r--r-- 612 bytes
delay.h -rw-r--r-- 1.2 KB
device.h -rw-r--r-- 129 bytes
div64.h -rw-r--r-- 31 bytes
dma-mapping.h -rw-r--r-- 2.5 KB
dma.h -rw-r--r-- 5.8 KB
dpmc.h -rw-r--r-- 2.2 KB
elf.h -rw-r--r-- 4.2 KB
emergency-restart.h -rw-r--r-- 152 bytes
entry.h -rw-r--r-- 1.6 KB
errno.h -rw-r--r-- 106 bytes
fb.h -rw-r--r-- 205 bytes
fcntl.h -rw-r--r-- 405 bytes
fixed_code.h -rw-r--r-- 462 bytes
flat.h -rw-r--r-- 1.5 KB
futex.h -rw-r--r-- 82 bytes
gpio.h -rw-r--r-- 11.0 KB
hardirq.h -rw-r--r-- 1.0 KB
hw_irq.h -rw-r--r-- 86 bytes
ide.h -rw-r--r-- 1.1 KB
io.h -rw-r--r-- 6.0 KB
ioctl.h -rw-r--r-- 31 bytes
ioctls.h -rw-r--r-- 2.4 KB
ipc.h -rw-r--r-- 29 bytes
ipcbuf.h -rw-r--r-- 696 bytes
irq.h -rw-r--r-- 2.5 KB
irq_handler.h -rw-r--r-- 645 bytes
irq_regs.h -rw-r--r-- 34 bytes
kdebug.h -rw-r--r-- 32 bytes
kgdb.h -rw-r--r-- 4.1 KB
kmap_types.h -rw-r--r-- 275 bytes
l1layout.h -rw-r--r-- 766 bytes
linkage.h -rw-r--r-- 113 bytes
local.h -rw-r--r-- 122 bytes
mem_map.h -rw-r--r-- 181 bytes
mman.h -rw-r--r-- 1.7 KB
mmu.h -rw-r--r-- 611 bytes
mmu_context.h -rw-r--r-- 3.3 KB
module.h -rw-r--r-- 421 bytes
msgbuf.h -rw-r--r-- 972 bytes
mutex.h -rw-r--r-- 308 bytes
namei.h -rw-r--r-- 343 bytes
page.h -rw-r--r-- 2.4 KB
page_offset.h -rw-r--r-- 100 bytes
param.h -rw-r--r-- 354 bytes
pci.h -rw-r--r-- 3.8 KB
percpu.h -rw-r--r-- 141 bytes
pgalloc.h -rw-r--r-- 161 bytes
pgtable.h -rw-r--r-- 2.7 KB
poll.h -rw-r--r-- 438 bytes
portmux.h -rw-r--r-- 15.0 KB
posix_types.h -rw-r--r-- 1.9 KB
processor.h -rw-r--r-- 3.2 KB
ptrace.h -rw-r--r-- 3.1 KB
resource.h -rw-r--r-- 119 bytes
scatterlist.h -rw-r--r-- 737 bytes
sections.h -rw-r--r-- 134 bytes
segment.h -rw-r--r-- 134 bytes
semaphore-helper.h -rw-r--r-- 1.6 KB
semaphore.h -rw-r--r-- 2.3 KB
sembuf.h -rw-r--r-- 695 bytes
setup.h -rw-r--r-- 405 bytes
shmbuf.h -rw-r--r-- 1.1 KB
shmparam.h -rw-r--r-- 147 bytes
sigcontext.h -rw-r--r-- 1.2 KB
siginfo.h -rw-r--r-- 1.1 KB
signal.h -rw-r--r-- 3.5 KB
socket.h -rw-r--r-- 1.2 KB
sockios.h -rw-r--r-- 372 bytes
spinlock.h -rw-r--r-- 125 bytes
stat.h -rw-r--r-- 1.3 KB
statfs.h -rw-r--r-- 111 bytes
string.h -rw-r--r-- 2.8 KB
system.h -rw-r--r-- 6.5 KB
termbits.h -rw-r--r-- 4.7 KB
termios.h -rw-r--r-- 3.1 KB
thread_info.h -rw-r--r-- 4.2 KB
timex.h -rw-r--r-- 322 bytes
tlb.h -rw-r--r-- 389 bytes
tlbflush.h -rw-r--r-- 1.0 KB
topology.h -rw-r--r-- 143 bytes
trace.h -rw-r--r-- 1.2 KB
traps.h -rw-r--r-- 4.3 KB
types.h -rw-r--r-- 1.4 KB
uaccess.h -rw-r--r-- 6.8 KB
ucontext.h -rw-r--r-- 413 bytes
unaligned.h -rw-r--r-- 126 bytes
unistd.h -rw-r--r-- 10.6 KB
user.h -rw-r--r-- 3.5 KB

back to top