Revision 6cf11ee6300f38b7cfc43af9b7be2afaa5e05869 authored by Hans Verkuil on 19 January 2015, 09:16:18 UTC, committed by Mauro Carvalho Chehab on 21 January 2015, 23:07:26 UTC
The locking scheme inside the vb2 thread is unsafe when stopping the thread. In particular kthread_stop was called *after* internal data structures were cleaned up instead of doing that before. In addition, internal vb2 functions were called after threadio->stop was set to true and vb2_internal_streamoff was called. This is also not allowed. All this led to a variety of race conditions and kernel warnings and/or oopses. Fixed by moving the kthread_stop call up before the cleanup takes place, and by checking threadio->stop before calling internal vb2 queuing operations. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Cc: <stable@vger.kernel.org> # for v3.16 and up Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
1 parent 42d74e4
File | Mode | Size |
---|---|---|
Kconfig | -rw-r--r-- | 28.8 KB |
Makefile | -rw-r--r-- | 3.9 KB |
aec62xx.c | -rw-r--r-- | 9.2 KB |
ali14xx.c | -rw-r--r-- | 6.5 KB |
alim15x3.c | -rw-r--r-- | 14.9 KB |
amd74xx.c | -rw-r--r-- | 10.0 KB |
atiixp.c | -rw-r--r-- | 5.6 KB |
au1xxx-ide.c | -rw-r--r-- | 15.1 KB |
buddha.c | -rw-r--r-- | 5.6 KB |
cmd640.c | -rw-r--r-- | 22.4 KB |
cmd64x.c | -rw-r--r-- | 12.0 KB |
cs5520.c | -rw-r--r-- | 4.7 KB |
cs5530.c | -rw-r--r-- | 8.1 KB |
cs5535.c | -rw-r--r-- | 6.2 KB |
cs5536.c | -rw-r--r-- | 7.6 KB |
cy82c693.c | -rw-r--r-- | 6.3 KB |
delkin_cb.c | -rw-r--r-- | 4.4 KB |
dtc2278.c | -rw-r--r-- | 3.8 KB |
falconide.c | -rw-r--r-- | 3.9 KB |
gayle.c | -rw-r--r-- | 4.4 KB |
hpt366.c | -rw-r--r-- | 41.9 KB |
ht6560b.c | -rw-r--r-- | 10.4 KB |
icside.c | -rw-r--r-- | 16.2 KB |
ide-4drives.c | -rw-r--r-- | 1.5 KB |
ide-acpi.c | -rw-r--r-- | 16.5 KB |
ide-atapi.c | -rw-r--r-- | 17.7 KB |
ide-cd.c | -rw-r--r-- | 45.9 KB |
ide-cd.h | -rw-r--r-- | 3.5 KB |
ide-cd_ioctl.c | -rw-r--r-- | 11.5 KB |
ide-cd_verbose.c | -rw-r--r-- | 13.6 KB |
ide-cs.c | -rw-r--r-- | 12.0 KB |
ide-devsets.c | -rw-r--r-- | 3.8 KB |
ide-disk.c | -rw-r--r-- | 19.3 KB |
ide-disk.h | -rw-r--r-- | 666 bytes |
ide-disk_ioctl.c | -rw-r--r-- | 957 bytes |
ide-disk_proc.c | -rw-r--r-- | 4.6 KB |
ide-dma-sff.c | -rw-r--r-- | 8.9 KB |
ide-dma.c | -rw-r--r-- | 13.2 KB |
ide-eh.c | -rw-r--r-- | 12.1 KB |
ide-floppy.c | -rw-r--r-- | 14.4 KB |
ide-floppy.h | -rw-r--r-- | 1.1 KB |
ide-floppy_ioctl.c | -rw-r--r-- | 7.2 KB |
ide-floppy_proc.c | -rw-r--r-- | 1.2 KB |
ide-gd.c | -rw-r--r-- | 10.8 KB |
ide-gd.h | -rw-r--r-- | 932 bytes |
ide-generic.c | -rw-r--r-- | 3.9 KB |
ide-io-std.c | -rw-r--r-- | 6.4 KB |
ide-io.c | -rw-r--r-- | 23.6 KB |
ide-ioctls.c | -rw-r--r-- | 6.7 KB |
ide-iops.c | -rw-r--r-- | 13.5 KB |
ide-legacy.c | -rw-r--r-- | 1.3 KB |
ide-lib.c | -rw-r--r-- | 4.4 KB |
ide-park.c | -rw-r--r-- | 3.5 KB |
ide-pci-generic.c | -rw-r--r-- | 6.0 KB |
ide-pio-blacklist.c | -rw-r--r-- | 2.3 KB |
ide-pm.c | -rw-r--r-- | 6.5 KB |
ide-pnp.c | -rw-r--r-- | 2.6 KB |
ide-probe.c | -rw-r--r-- | 37.5 KB |
ide-proc.c | -rw-r--r-- | 19.3 KB |
ide-scan-pci.c | -rw-r--r-- | 2.7 KB |
ide-sysfs.c | -rw-r--r-- | 3.2 KB |
ide-tape.c | -rw-r--r-- | 55.1 KB |
ide-taskfile.c | -rw-r--r-- | 16.6 KB |
ide-timings.c | -rw-r--r-- | 6.5 KB |
ide-xfer-mode.c | -rw-r--r-- | 6.7 KB |
ide.c | -rw-r--r-- | 10.4 KB |
ide_platform.c | -rw-r--r-- | 3.3 KB |
it8172.c | -rw-r--r-- | 5.1 KB |
it8213.c | -rw-r--r-- | 5.5 KB |
it821x.c | -rw-r--r-- | 20.4 KB |
jmicron.c | -rw-r--r-- | 4.5 KB |
macide.c | -rw-r--r-- | 3.0 KB |
ns87415.c | -rw-r--r-- | 8.9 KB |
opti621.c | -rw-r--r-- | 4.5 KB |
palm_bk3710.c | -rw-r--r-- | 10.6 KB |
pdc202xx_new.c | -rw-r--r-- | 14.5 KB |
pdc202xx_old.c | -rw-r--r-- | 10.1 KB |
piix.c | -rw-r--r-- | 14.0 KB |
pmac.c | -rw-r--r-- | 45.3 KB |
q40ide.c | -rw-r--r-- | 4.1 KB |
qd65xx.c | -rw-r--r-- | 10.9 KB |
qd65xx.h | -rw-r--r-- | 5.8 KB |
rapide.c | -rw-r--r-- | 2.0 KB |
rz1000.c | -rw-r--r-- | 2.3 KB |
sc1200.c | -rw-r--r-- | 9.2 KB |
scc_pata.c | -rw-r--r-- | 21.9 KB |
serverworks.c | -rw-r--r-- | 12.6 KB |
setup-pci.c | -rw-r--r-- | 16.6 KB |
sgiioc4.c | -rw-r--r-- | 16.8 KB |
siimage.c | -rw-r--r-- | 20.9 KB |
sis5513.c | -rw-r--r-- | 18.1 KB |
sl82c105.c | -rw-r--r-- | 9.4 KB |
slc90e66.c | -rw-r--r-- | 4.8 KB |
tc86c001.c | -rw-r--r-- | 7.5 KB |
triflex.c | -rw-r--r-- | 3.8 KB |
trm290.c | -rw-r--r-- | 10.8 KB |
tx4938ide.c | -rw-r--r-- | 5.6 KB |
tx4939ide.c | -rw-r--r-- | 17.1 KB |
umc8672.c | -rw-r--r-- | 5.0 KB |
via82cxxx.c | -rw-r--r-- | 14.7 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...