summaryrefslogtreecommitdiffstats
path: root/fs/hfs
diff options
context:
space:
mode:
authorliu chuansheng <chuansheng.liu@intel.com>2012-07-06 09:50:08 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-07-06 09:50:08 -0700
commit5c53d819c71c63fdc91f30a59164583f68e2d63a (patch)
treee54c65ff9106c7ac29e9636310722db9d7bb170f /fs/hfs
parent6887a4131da3adaab011613776d865f4bcfb5678 (diff)
downloadlinux-5c53d819c71c63fdc91f30a59164583f68e2d63a.tar.gz
linux-5c53d819c71c63fdc91f30a59164583f68e2d63a.tar.bz2
linux-5c53d819c71c63fdc91f30a59164583f68e2d63a.zip
printk: replacing the raw_spin_lock/unlock with raw_spin_lock/unlock_irq
In function devkmsg_read/writev/llseek/poll/open()..., the function raw_spin_lock/unlock is used, there is potential deadlock case happening. CPU1: thread1 doing the cat /dev/kmsg: raw_spin_lock(&logbuf_lock); while (user->seq == log_next_seq) { when thread1 run here, at this time one interrupt is coming on CPU1 and running based on this thread,if the interrupt handle called the printk which need the logbuf_lock spin also, it will cause deadlock. So we should use raw_spin_lock/unlock_irq here. Acked-by: Kay Sievers <kay@vrfy.org> Signed-off-by: liu chuansheng <chuansheng.liu@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/hfs')
0 files changed, 0 insertions, 0 deletions