diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-01-08 23:28:09 -0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-01-08 23:28:09 -0200 |
commit | fb1a0811d58fdbf564fa22b7fb268969c40af175 (patch) | |
tree | e437b71c61b1ef34b83aac12cd5868005337e51c /README | |
parent | 783abc8c719e55654e22610d4ec128db8d576ba8 (diff) | |
download | mediapointer-dvb-s2-fb1a0811d58fdbf564fa22b7fb268969c40af175.tar.gz mediapointer-dvb-s2-fb1a0811d58fdbf564fa22b7fb268969c40af175.tar.bz2 |
backport changeset f41ced8f108cc80f16509b907cd7ac93944459bc
From: Mauro Carvalho Chehab <mchehab@redhat.com>
Author: Laurent Pinchart <laurent.pinchart@skynet.be>
Check fops_get() return value
Several subsystem open handlers dereference the fops_get() return value
without checking it for nullness. This opens a race condition between the
open handler and module unloading.
A module can be marked as being unloaded (MODULE_STATE_GOING) before its
exit function is called and gets the chance to unregister the driver.
During that window open handlers can still be called, and fops_get() will
fail in try_module_get() and return a NULL pointer.
This change checks the fops_get() return value and returns -ENODEV if NULL.
kernel-sync:
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'README')
0 files changed, 0 insertions, 0 deletions