Revision db61ecc3352d72513c1b07805bd6f760e30c001b authored by Tommy S. Christensen on 19 May 2005, 19:46:59 UTC, committed by David S. Miller on 19 May 2005, 19:46:59 UTC
This bug causes:

assertion (!atomic_read(&sk->sk_rmem_alloc)) failed at net/netlink/af_netlink.c (122)

What's happening is that:

1) The skb is sent to socket 1.
2) Someone does a recvmsg on socket 1 and drops the ref on the skb.
   Note that the rmalloc is not returned at this point since the
   skb is still referenced.
3) The same skb is now sent to socket 2.

This version of the fix resurrects the skb_orphan call that was moved
out, last time we had 'shared-skb troubles'. It is practically a no-op
in the common case, but still prevents the possible race with recvmsg.

Signed-off-by: Tommy S. Christensen <tommy.christensen@tpack.net>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 1eda339
History
File Mode Size
DocBook
RCU
aoe
arm
block
cdrom
cpu-freq
cris
crypto
device-mapper
driver-model
dvb
early-userspace
fb
filesystems
firmware_class
fujitsu
i2c
i2o
i386
ia64
infiniband
input
ioctl
isdn
kbuild
m68k
mips
networking
parisc
power
powerpc
s390
scsi
serial
sh
sound
sparc
sysctl
telephony
uml
usb
video4linux
vm
w1
watchdog
x86_64
00-INDEX -rw-r--r-- 9.9 KB
BUG-HUNTING -rw-r--r-- 3.6 KB
Changes -rw-r--r-- 12.4 KB
CodingStyle -rw-r--r-- 15.0 KB
DMA-API.txt -rw-r--r-- 19.9 KB
DMA-mapping.txt -rw-r--r-- 31.2 KB
IO-mapping.txt -rw-r--r-- 7.8 KB
IPMI.txt -rw-r--r-- 20.7 KB
IRQ-affinity.txt -rw-r--r-- 1.3 KB
MSI-HOWTO.txt -rw-r--r-- 22.5 KB
ManagementStyle -rw-r--r-- 12.9 KB
PCIEBUS-HOWTO.txt -rw-r--r-- 8.6 KB
README.DAC960 -rw-r--r-- 33.9 KB
README.cycladesZ -rw-r--r-- 293 bytes
SAK.txt -rw-r--r-- 2.9 KB
SecurityBugs -rw-r--r-- 1.8 KB
SubmittingDrivers -rw-r--r-- 5.3 KB
SubmittingPatches -rw-r--r-- 13.1 KB
VGA-softcursor.txt -rw-r--r-- 2.0 KB
atomic_ops.txt -rw-r--r-- 14.8 KB
basic_profiling.txt -rw-r--r-- 1.6 KB
binfmt_misc.txt -rw-r--r-- 6.0 KB
cachetlb.txt -rw-r--r-- 16.0 KB
cciss.txt -rw-r--r-- 4.8 KB
cli-sti-removal.txt -rw-r--r-- 3.9 KB
computone.txt -rw-r--r-- 20.3 KB
cpqarray.txt -rw-r--r-- 2.2 KB
cpusets.txt -rw-r--r-- 16.3 KB
debugging-modules.txt -rw-r--r-- 759 bytes
devices.txt -rw-r--r-- 111.5 KB
digiepca.txt -rw-r--r-- 3.7 KB
dnotify.txt -rw-r--r-- 3.5 KB
dontdiff -rw-r--r-- 1.3 KB
eisa.txt -rw-r--r-- 7.1 KB
exception.txt -rw-r--r-- 12.1 KB
feature-removal-schedule.txt -rw-r--r-- 3.1 KB
floppy.txt -rw-r--r-- 8.3 KB
ftape.txt -rw-r--r-- 10.7 KB
hayes-esp.txt -rw-r--r-- 6.5 KB
highuid.txt -rw-r--r-- 2.5 KB
hpet.txt -rw-r--r-- 6.4 KB
hw_random.txt -rw-r--r-- 2.6 KB
ibm-acpi.txt -rw-r--r-- 17.2 KB
ide.txt -rw-r--r-- 15.4 KB
initrd.txt -rw-r--r-- 13.1 KB
io_ordering.txt -rw-r--r-- 1.9 KB
ioctl-number.txt -rw-r--r-- 7.0 KB
iostats.txt -rw-r--r-- 7.1 KB
isapnp.txt -rw-r--r-- 433 bytes
java.txt -rw-r--r-- 10.7 KB
kernel-doc-nano-HOWTO.txt -rw-r--r-- 4.3 KB
kernel-docs.txt -rw-r--r-- 35.7 KB
kernel-parameters.txt -rw-r--r-- 42.4 KB
keys.txt -rw-r--r-- 32.5 KB
kobject.txt -rw-r--r-- 11.3 KB
kref.txt -rw-r--r-- 6.1 KB
laptop-mode.txt -rw-r--r-- 30.7 KB
ldm.txt -rw-r--r-- 3.6 KB
locks.txt -rw-r--r-- 3.4 KB
logo.gif -rw-r--r-- 16.0 KB
logo.txt -rw-r--r-- 563 bytes
magic-number.txt -rw-r--r-- 9.9 KB
mandatory.txt -rw-r--r-- 7.1 KB
mca.txt -rw-r--r-- 11.5 KB
md.txt -rw-r--r-- 4.0 KB
memory.txt -rw-r--r-- 2.1 KB
mono.txt -rw-r--r-- 2.5 KB
moxa-smartio -rw-r--r-- 16.3 KB
mtrr.txt -rw-r--r-- 9.6 KB
nbd.txt -rw-r--r-- 1.9 KB
nfsroot.txt -rw-r--r-- 7.8 KB
nmi_watchdog.txt -rw-r--r-- 4.2 KB
nommu-mmap.txt -rw-r--r-- 8.7 KB
numastat.txt -rw-r--r-- 861 bytes
oops-tracing.txt -rw-r--r-- 10.7 KB
paride.txt -rw-r--r-- 16.7 KB
parport-lowlevel.txt -rw-r--r-- 32.5 KB
parport.txt -rw-r--r-- 8.8 KB
pci.txt -rw-r--r-- 12.5 KB
pm.txt -rw-r--r-- 9.5 KB
pnp.txt -rw-r--r-- 6.6 KB
preempt-locking.txt -rw-r--r-- 5.2 KB
prio_tree.txt -rw-r--r-- 5.2 KB
ramdisk.txt -rw-r--r-- 6.3 KB
riscom8.txt -rw-r--r-- 1.3 KB
rocket.txt -rw-r--r-- 7.6 KB
rpc-cache.txt -rw-r--r-- 7.1 KB
rtc.txt -rw-r--r-- 8.1 KB
sched-coding.txt -rw-r--r-- 4.0 KB
sched-design.txt -rw-r--r-- 7.7 KB
sched-domains.txt -rw-r--r-- 3.6 KB
sched-stats.txt -rw-r--r-- 7.0 KB
seclvl.txt -rw-r--r-- 3.0 KB
serial-console.txt -rw-r--r-- 3.8 KB
sgi-visws.txt -rw-r--r-- 678 bytes
smart-config.txt -rw-r--r-- 3.1 KB
smp.txt -rw-r--r-- 844 bytes
sonypi.txt -rw-r--r-- 5.7 KB
sparse.txt -rw-r--r-- 2.2 KB
specialix.txt -rw-r--r-- 14.8 KB
spinlocks.txt -rw-r--r-- 8.4 KB
stable_api_nonsense.txt -rw-r--r-- 9.3 KB
stallion.txt -rw-r--r-- 17.6 KB
svga.txt -rw-r--r-- 14.1 KB
sx.txt -rw-r--r-- 11.3 KB
sysrq.txt -rw-r--r-- 10.0 KB
time_interpolators.txt -rw-r--r-- 1.4 KB
tipar.txt -rw-r--r-- 2.8 KB
tty.txt -rw-r--r-- 7.3 KB
unicode.txt -rw-r--r-- 6.5 KB
voyager.txt -rw-r--r-- 3.4 KB
xterm-linux.xpm -rw-r--r-- 3.5 KB
zorro.txt -rw-r--r-- 2.8 KB

README.DAC960

back to top