mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-20 15:58:37 +07:00
1d6213ab99
cx8802_blackbird_probe makes a device node for the mpeg sub-device before it has been added to dev->drvlist. If the device is opened during that time, the open succeeds but request_acquire cannot be called, so the reference count remains zero. Later, when the device is closed, the reference count becomes negative --- uh oh. Close the race by holding core->lock during probe and not releasing until the device is in drvlist and initialization finished. Previously the BKL prevented this race. Reported-by: Andreas Huber <hobrom@gmx.at> Tested-by: Andi Huber <hobrom@gmx.at> Tested-by: Marlon de Boer <marlon@hyves.nl> Cc: stable@kernel.org Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> |
||
---|---|---|
.. | ||
cx88-alsa.c | ||
cx88-blackbird.c | ||
cx88-cards.c | ||
cx88-core.c | ||
cx88-dsp.c | ||
cx88-dvb.c | ||
cx88-i2c.c | ||
cx88-input.c | ||
cx88-mpeg.c | ||
cx88-reg.h | ||
cx88-tvaudio.c | ||
cx88-vbi.c | ||
cx88-video.c | ||
cx88-vp3054-i2c.c | ||
cx88-vp3054-i2c.h | ||
cx88.h | ||
Kconfig | ||
Makefile |