summaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq
diff options
context:
space:
mode:
authorPeter Hurley <peter@hurleysoftware.com>2016-01-10 06:45:11 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-01-28 20:58:02 +0100
commita8f3a29718f77df3116955d100756f67fafabec0 (patch)
tree435e824fef69ff9d08e6df6baf06fde5a31c2b5e /drivers/cpufreq
parenttty: Add fasync() hung up file operation (diff)
downloadlinux-a8f3a29718f77df3116955d100756f67fafabec0.tar.xz
linux-a8f3a29718f77df3116955d100756f67fafabec0.zip
tty: Fix ioctl(FIOASYNC) on hungup file
A small race window exists which allows signal-driven async i/o to be enabled for the tty when the file ptr has already been hungup and signal-driven i/o has been disabled: CPU 0 CPU 1 ----- ------ ioctl_fioasync(on) filp->f_op->fasync(on) __tty_hangup() tty_fasync(on) tty_lock() tty_lock() ... . filp->f_op = &hung_up_tty_fops; (waiting) __tty_fasync(off) . tty_unlock() /* gets tty lock */ /* enables FASYNC */ Check the tty has not been hungup while holding tty_lock. Signed-off-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/cpufreq')
0 files changed, 0 insertions, 0 deletions