From: liu chuansheng Date: Fri, 6 Jul 2012 16:50:08 +0000 (-0700) Subject: printk: replacing the raw_spin_lock/unlock with raw_spin_lock/unlock_irq X-Git-Tag: v3.5-rc7~29^2~6 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5c53d819c71c63fdc91f30a59164583f68e2d63a;p=pandora-kernel.git 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 Signed-off-by: liu chuansheng Signed-off-by: Greg Kroah-Hartman --- Reading git-diff-tree failed